diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..6b7e7a6 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,18 @@ +name: Rust + +on: [push, pull_request] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: update rust stable + run: rustup update stable + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..7dc99b9 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,42 @@ +name: Rust + +on: + push: + tags: + - 'v*.*.*' + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: update rust stable + run: rustup update stable + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + pre-release-check: + runs-on: ubuntu-latest + needs: [build] + steps: + - name: update rust stable + run: rustup update stable + - uses: actions/checkout@v4 + - name: Publish Dry Run + run: cargo publish --dry-run + release: + environment: crates.io + runs-on: ubuntu-latest + needs: [build, pre-release-check] + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + steps: + - name: update rust stable + run: rustup update stable + - uses: actions/checkout@v4 + - name: Publish + run: cargo publish