diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/ci.yml | 22 | ||||
-rw-r--r-- | .github/workflows/deps.yml | 15 | ||||
-rw-r--r-- | .github/workflows/release.yml | 62 |
3 files changed, 99 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..67f18c3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,22 @@ +name: CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml new file mode 100644 index 0000000..344131f --- /dev/null +++ b/.github/workflows/deps.yml @@ -0,0 +1,15 @@ +name: Bump deps + +on: + workflow_dispatch: +jobs: + latest_deps: + name: Latest Dependencies + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v3 + - run: rustup update stable && rustup default stable + - run: cargo update --verbose + - run: cargo build --verbose + - run: cargo test --verbose diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..720b337 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release +on: + push: + tags: + - v* + branches: + - v* +jobs: + release: + strategy: + matrix: + platform: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + bin: viewercount + name: viewercount-${{ github.ref_name }}-linux-x86_64 + - os: ubuntu-latest + target: aarch64-unknown-linux-gnu + bin: viewercount + name: viewercount-${{ github.ref_name }}-linux-aarch64 + - os: windows-latest + target: x86_64-pc-windows-msvc + bin: viewercount.exe + name: viewercount-${{ github.ref_name }}-windows-x86_64 + - os: macos-latest + target: x86_64-apple-darwin + bin: viewercount + name: viewercount-${{ github.ref_name }}-darwin-x86_64 + runs-on: ${{ matrix.platform.os }} + steps: + - uses: actions/checkout@v4 + - uses: Swatinem/rust-cache@v2 + - name: Build binary + uses: houseabsolute/actions-rust-cross@v0 + with: + target: ${{ matrix.platform.target }} + args: "--locked --release" + strip: true + - name: Package + shell: bash + run: | + mkdir ${{ matrix.platform.name }} + cp target/${{ matrix.platform.target }}/release/${{ matrix.platform.bin }} ${{ matrix.platform.name }} + cp LICENSE.txt ${{ matrix.platform.name }} + cp README.md ${{ matrix.platform.name }} + if [[ "${{ matrix.platform.os }}" == "windows-latest" ]] + then + 7z a ${{ matrix.platform.name }}.zip ${{ matrix.platform.name }} + else + tar czvf ${{ matrix.platform.name }}.tar.gz ${{ matrix.platform.name }} + fi + - name: Generate Changelog + run: utils/generate_changelog.sh > ${{ github.workspace }}-CHANGELOG.md + - name: Publish + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body_path: ${{ github.workspace }}-CHANGELOG.md + fail_on_unmatched_files: true + files: viewercount-* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |