Skip to content

release: 2.2.0 (#94) #119

release: 2.2.0 (#94)

release: 2.2.0 (#94) #119

Workflow file for this run

name: Push
on:
push:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
typos:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.21.0
unused-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check for unused dependencies
run: |
cargo install cargo-machete --locked
cargo machete
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lint
run: make lint
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Actor
run: echo ${{ github.actor }}
- name: Build
run: make build-in-docker
- name: Upload binary
uses: actions/upload-artifact@v3
with:
name: sweat-jar
path: res/sweat_jar.wasm
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Unit tests
run: make test
integration-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Integration tests
run: make integration
mutation-tests:
runs-on: ubuntu-latest
steps:
- name: Install tool
run: cargo install --locked cargo-mutants
- name: Checkout
uses: actions/checkout@v4
- name: Mutation tests
run: make mutation
check-binary-hash:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Hash
run: make hash
- name: Commit Hash
run: echo ${{ github.event.pull_request.head.sha }}
measure:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Measure gas
run: make measure
- name: Upload measure
uses: actions/upload-artifact@v3
with:
name: measured
path: measured.txt
push:
needs: [ check-binary-hash, build, typos, unused-dependencies, lint, unit-tests, integration-tests, measure, mutation-tests ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- name: Download binary
uses: actions/download-artifact@v3
with:
name: sweat-jar
path: res/
- name: Download measure
uses: actions/download-artifact@v3
with:
name: measured
- name: Commit & Push changes
if: ${{ github.actor != 'sweatcoin' }}
uses: actions-js/push@master
with:
message: Updated binary and measure
branch: main
github_token: ${{ secrets.ACTIONS_TOKEN }}