diff options
author | Tim Oram <dev@mitmaro.ca> | 2023-07-22 17:22:27 -0230 |
---|---|---|
committer | Tim Oram <dev@mitmaro.ca> | 2023-07-22 23:52:06 -0230 |
commit | e61a25e5a0e93efcf100c29329775c19d721100f (patch) | |
tree | 5b19f742d92616f6a823a99802e443965f5e5cda | |
parent | d13663f4cecf45ab597d69df9909ee9824ffbc24 (diff) |
Fix and clean workflows
This change updates, addresses some minor issues with the
master-coverage, release and pull-request workflows; and completely
rewrites the release-latest workflow.
This includes adding new release targets for the latest release, and
using a more reliable process for uploading the build artifacts to
GitHub releases.
-rw-r--r-- | .github/dependabot.yml | 2 | ||||
-rwxr-xr-x | .github/scripts/push-latest-release.bash | 34 | ||||
-rw-r--r-- | .github/workflows/master-coverage.yml | 7 | ||||
-rw-r--r-- | .github/workflows/pull-request.yml | 13 | ||||
-rw-r--r-- | .github/workflows/release-latest.yml | 279 | ||||
-rw-r--r-- | .github/workflows/release.yml | 302 |
6 files changed, 404 insertions, 233 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 04062d0..a5ed7e1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,4 +5,4 @@ updates: schedule: interval: daily time: "08:30" - open-pull-requests-limit: 10 + open-pull-requests-limit: 0 diff --git a/.github/scripts/push-latest-release.bash b/.github/scripts/push-latest-release.bash deleted file mode 100755 index 745f998..0000000 --- a/.github/scripts/push-latest-release.bash +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -u -set -o pipefail - -assets="$(curl -X GET \ - -H "accept: application/vnd.github.dorian-preview+json" \ - -H "content-type: application/json" \ - -H "authorization: token $GITHUB_ACCESS_TOKEN" \ - "https://api.github.com/repos/$GITHUB_REPOSITORY/releases/$TARGET_RELEASE_ID/assets" | tr -d '\n')" - -assets="$(python -c " -import json -assets = json.loads('$assets') -for asset in assets: - print(asset['name'], asset['id']) -")" - -while read name id; do - if [[ "$name" == "$ASSET_NAME" ]]; then - curl -X DELETE \ - -H "accept: application/vnd.github.dorian-preview+json" \ - -H "authorization: token $GITHUB_ACCESS_TOKEN" \ - "https://api.github.com/repos/$GITHUB_REPOSITORY/releases/assets/$id" - fi -done <<< "$assets" - -curl -X POST \ - -H "accept: application/vnd.github.dorian-preview+json" \ - -H "content-type: $CONTENT_TYPE" \ - -H "authorization: token $GITHUB_ACCESS_TOKEN" \ - --data-binary @"$FILE_PATH" \ - "https://uploads.github.com/repos/$GITHUB_REPOSITORY/releases/$TARGET_RELEASE_ID/assets?name=$ASSET_NAME" diff --git a/.github/workflows/master-coverage.yml b/.github/workflows/master-coverage.yml index 763391e..3b702b4 100644 --- a/.github/workflows/master-coverage.yml +++ b/.github/workflows/master-coverage.yml @@ -22,12 +22,7 @@ jobs: run: | cargo +nightly tarpaulin --workspace --all-features --ignore-tests --line --output-dir coverage --timeout 10 --out Lcov - name: Post to Coveralls - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: "coverage/lcov.info" - - name: Archive code coverage results - uses: actions/upload-artifact@v1 - with: - name: code-coverage-report - path: coverage/lcov.info diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 21a0d0a..061c4d4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -2,8 +2,7 @@ name: Pull Request on: pull_request: - # run CI/CD against master as well, to generate cache - push: + push: # run CI/CD against master as well, to generate cache branches: - master @@ -15,7 +14,7 @@ jobs: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - - uses: baptiste0928/cargo-install@v1 + - uses: baptiste0928/cargo-install@v2 with: crate: cargo-make - name: Test @@ -33,7 +32,7 @@ jobs: with: components: clippy - uses: Swatinem/rust-cache@v2 - - uses: baptiste0928/cargo-install@v1 + - uses: baptiste0928/cargo-install@v2 with: crate: cargo-make - run: cargo make lint-stable @@ -54,7 +53,7 @@ jobs: toolchain: nightly components: rustfmt - uses: Swatinem/rust-cache@v2 - - uses: baptiste0928/cargo-install@v1 + - uses: baptiste0928/cargo-install@v2 with: crate: cargo-make - run: cargo make format @@ -74,7 +73,7 @@ jobs: run: | cargo +nightly tarpaulin --workspace --all-features --ignore-tests --line --output-dir coverage --timeout 10 --out Lcov - name: Post to Coveralls - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: "coverage/lcov.info" @@ -86,7 +85,7 @@ jobs: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - - uses: baptiste0928/cargo-install@v1 + - uses: baptiste0928/cargo-install@v2 with: crate: cargo-make - name: Test diff --git a/.github/workflows/release-latest.yml b/.github/workflows/release-latest.yml index c3efbb0..7041df3 100644 --- a/.github/workflows/release-latest.yml +++ b/.github/workflows/release-latest.yml @@ -1,21 +1,33 @@ name: Release Latest on: - push: - branches: - - master + push: + branches: + - master + jobs: - ubuntu: - name: Ubuntu + update-latest-tag: runs-on: ubuntu-latest - timeout-minutes: 10 + name: Update Latest Tag env: - TARGET_RELEASE_ID: 18843342 - GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - REPOSITORY: "MitMaro/git-interactive-rebase-tool" + TARGET_RELEASE_ID: 18843342 + GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + REPOSITORY: "MitMaro/git-interactive-rebase-tool" + DEFAULT_BRANCH: "master" + steps: + - uses: actions/checkout@v3 + - name: "Update Tag and Title" + run: "./.github/scripts/update-tag.bash" + + debian: + name: Debian Latest + runs-on: ubuntu-latest + needs: update-latest-tag + timeout-minutes: 10 + container: + image: 'docker://debian:sid-slim' steps: - uses: actions/checkout@v3 - - uses: Swatinem/rust-cache@v2 - name: "System Setup" run: | apt-get update; @@ -23,40 +35,239 @@ jobs: env: DEBIAN_FRONTEND: noninteractive TZ: "America/St_Johns" - - uses: dtolnay/rust-toolchain@stable - - uses: baptiste0928/cargo-install@v1 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + - uses: baptiste0928/cargo-install@v2 with: crate: cargo-deb - name: "Build Deb" - run: cargo +stable deb --output "target/debian/git-interactive-rebase-tool-ubuntu_amd64.deb" -- --features dev + run: cargo +nightly deb --output "target/debian/debian_amd64-interactive-rebase-tool.deb" -- --features dev - name: Upload - env: - FILE_PATH: "target/debian/git-interactive-rebase-tool-ubuntu_amd64.deb" - ASSET_NAME: git-interactive-rebase-tool-ubuntu_amd64.deb - CONTENT_TYPE: "application/vnd.debian.binary-package" - run: "./.github/scripts/push-latest-release.bash" - - name: "Update Tag and Title" - env: - DEFAULT_BRANCH: "master" - run: "./.github/scripts/update-tag.bash" - macos: - name: MacOS + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debian/debian_amd64-interactive-rebase-tool.deb" + artifactErrorsFailBuild: true + artifactContentType: "application/vnd.debian.binary-package" + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + ubuntu: + name: Ubuntu Latest + runs-on: ubuntu-latest + needs: update-latest-tag + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + - uses: baptiste0928/cargo-install@v2 + with: + crate: cargo-deb + - name: "Build Deb" + run: cargo +nightly deb --output "target/debian/ubuntu_amd64-interactive-rebase-tool.deb" -- --features dev + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debian/ubuntu_amd64-interactive-rebase-tool.deb" + artifactErrorsFailBuild: true + artifactContentType: "application/vnd.debian.binary-package" + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + alpine: + name: Alpine Latest + runs-on: ubuntu-latest + needs: update-latest-tag + container: + image: 'docker://rust:alpine' + steps: + - uses: actions/checkout@v3 + - run: | + apk update + apk upgrade + apk add bash musl-dev zlib-dev zlib-static + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + - name: "Build" + run: | + cargo build --features dev + cp target/debug/interactive-rebase-tool target/debug/alpine_amd64-interactive-rebase-tool + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debug/alpine_amd64-interactive-rebase-tool" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + arch: + name: Arch Latest + runs-on: ubuntu-latest + needs: update-latest-tag + container: + image: 'docker://archlinux:base-devel' + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + - name: "Build" + run: | + cargo build --features dev + cp target/debug/interactive-rebase-tool target/debug/arch_amd64-interactive-rebase-tool + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debug/arch_amd64-interactive-rebase-tool" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + fedora: + name: Fedora Latest + runs-on: ubuntu-latest + needs: update-latest-tag + container: + image: 'docker://fedora:latest' + steps: + - uses: actions/checkout@v3 + - run: | + dnf install curl dnf-plugins-core cmake gcc clang make -y + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + - name: "Build" + run: | + cargo build --features dev + cp target/debug/interactive-rebase-tool target/debug/fedora_amd64-interactive-rebase-tool + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debug/fedora_amd64-interactive-rebase-tool" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + macos-amd64: + name: MacOS amd64 Latest runs-on: macos-latest timeout-minutes: 10 - env: - TARGET_RELEASE_ID: 18843342 - GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - REPOSITORY: "MitMaro/git-interactive-rebase-tool" + needs: update-latest-tag steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@nightly with: toolchain: nightly - name: "Build" - run: cargo build --features dev --release + run: | + cargo build --features dev + cp target/debug/interactive-rebase-tool target/debug/macos-amd64-interactive-rebase-tool - name: Upload - env: - FILE_PATH: "target/release/interactive-rebase-tool" - ASSET_NAME: macos-interactive-rebase-tool - CONTENT_TYPE: "application/x-mach-binary" - run: "./.github/scripts/push-latest-release.bash" + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/debug/macos-amd64-interactive-rebase-tool" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + macos-arm: + name: MacOS ARM Latest + runs-on: macos-latest + timeout-minutes: 10 + needs: update-latest-tag + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + with: + toolchain: nightly + targets: aarch64-apple-darwin + - name: "Build" + run: | + cargo build --target aarch64-apple-darwin --features dev + cp target/aarch64-apple-darwin/debug/interactive-rebase-tool target/aarch64-apple-darwin/debug/macos-arm-interactive-rebase-tool + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/aarch64-apple-darwin/debug/macos-arm-interactive-rebase-tool" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true + + windows: + name: Windows Latest + runs-on: windows-latest + timeout-minutes: 10 + needs: update-latest-tag + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - name: "Build" + run: | + cargo rustc --target x86_64-pc-windows-msvc --release --bin interactive-rebase-tool + copy target/x86_64-pc-windows-msvc/release/interactive-rebase-tool.exe target/x86_64-pc-windows-msvc/release/windows_amd64-interactive-rebase-tool.exe + - name: Upload + uses: ncipollo/release-action@v1 + with: + tag: latest + allowUpdates: true + artifacts: "target/x86_64-pc-windows-msvc/release/windows_amd64-interactive-rebase-tool.exe" + artifactErrorsFailBuild: true + replacesArtifacts: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + makeLatest: false + prerelease: true + updateOnlyUnreleased: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb9cca8..0245502 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,158 +1,158 @@ name: Release Packages on: - release: - types: [published] + release: + types: [ published ] jobs: - build-ubuntu-legacy: - strategy: - matrix: - version: ['14.04', '16.04'] - runs-on: ubuntu-latest - timeout-minutes: 10 - container: - image: 'docker://ubuntu:${{ matrix.version }}' - steps: - - name: "Get Tag Name" - id: ref - shell: bash - run: | - ref="${{ github.ref }}"; - ref="${ref//refs\/heads\//}"; - ref="${ref//refs\/tags\//}"; - ref="${ref//master/dev}"; - echo "$ref"; - echo "::set-output name=name::$ref" - - uses: actions/checkout@v3 - # manually install and use rustup, since dtolnay/rust-toolchain is not supported on older versions of Ubuntu - - name: "System Setup" - run: | - apt-get update; - apt-get --assume-yes -f install curl build-essential pkg-config; - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable -y; - $HOME/.cargo/bin/cargo install --force cargo-deb - env: - DEBIAN_FRONTEND: noninteractive - TZ: "America/St_Johns" - - name: "Build Deb" - run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-ubuntu-${{ matrix.version }}_amd64.deb" - - name: "Upload Release" - uses: softprops/action-gh-release@v1 - with: - files: | - target/debian/*.deb - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - build-ubuntu: - strategy: - matrix: - version: ['18.04', '20.04', '22.04', '22.10', '23.04'] - runs-on: ubuntu-latest - timeout-minutes: 10 - container: - image: 'docker://ubuntu:${{ matrix.version }}' - steps: - - name: "Get Tag Name" - id: ref - shell: bash - run: | - ref="${{ github.ref }}"; - ref="${ref//refs\/heads\//}"; - ref="${ref//refs\/tags\//}"; - ref="${ref//master/dev}"; - echo "$ref"; - echo "::set-output name=name::$ref" - - uses: actions/checkout@v3 - - name: "System Setup" - run: | - apt-get update; - apt-get --assume-yes -f install curl build-essential pkg-config; - env: - DEBIAN_FRONTEND: noninteractive - TZ: "America/St_Johns" - - uses: dtolnay/rust-toolchain@stable - - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-deb - - name: "Build Deb" - run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-ubuntu-${{ matrix.version }}_amd64.deb" - - name: "Upload Release" - uses: softprops/action-gh-release@v1 - with: - files: | - target/debian/*.deb - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-ubuntu-legacy: + strategy: + matrix: + version: [ '14.04', '16.04' ] + runs-on: ubuntu-latest + timeout-minutes: 10 + container: + image: 'docker://ubuntu:${{ matrix.version }}' + steps: + - name: "Get Tag Name" + id: ref + shell: bash + run: | + ref="${{ github.ref }}"; + ref="${ref//refs\/heads\//}"; + ref="${ref//refs\/tags\//}"; + ref="${ref//master/dev}"; + echo "$ref"; + echo "::set-output name=name::$ref" + - uses: actions/checkout@v3 + # manually install and use rustup, since dtolnay/rust-toolchain is not supported on older versions of Ubuntu + - name: "System Setup" + run: | + apt-get update; + apt-get --assume-yes -f install curl build-essential pkg-config; + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable -y; + $HOME/.cargo/bin/cargo install --force cargo-deb + env: + DEBIAN_FRONTEND: noninteractive + TZ: "America/St_Johns" + - name: "Build Deb" + run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-ubuntu-${{ matrix.version }}_amd64.deb" + - name: "Upload Release" + uses: softprops/action-gh-release@v1 + with: + files: | + target/debian/*.deb + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-ubuntu: + strategy: + matrix: + version: [ '18.04', '20.04', '22.04', '22.10', '23.04' ] + runs-on: ubuntu-latest + timeout-minutes: 10 + container: + image: 'docker://ubuntu:${{ matrix.version }}' + steps: + - name: "Get Tag Name" + id: ref + shell: bash + run: | + ref="${{ github.ref }}"; + ref="${ref//refs\/heads\//}"; + ref="${ref//refs\/tags\//}"; + ref="${ref//master/dev}"; + echo "$ref"; + echo "::set-output name=name::$ref" + - uses: actions/checkout@v3 + - name: "System Setup" + run: | + apt-get update; + apt-get --assume-yes -f install curl build-essential pkg-config; + env: + DEBIAN_FRONTEND: noninteractive + TZ: "America/St_Johns" + - uses: dtolnay/rust-toolchain@stable + - uses: baptiste0928/cargo-install@v2 + with: + crate: cargo-deb + - name: "Build Deb" + run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-ubuntu-${{ matrix.version }}_amd64.deb" + - name: "Upload Release" + uses: softprops/action-gh-release@v1 + with: + files: | + target/debian/*.deb + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - build-debian: - strategy: - matrix: - version: ['10', '11', '12', 'sid'] - runs-on: ubuntu-latest - timeout-minutes: 10 - container: - image: 'docker://debian:${{ matrix.version }}-slim' - steps: - - name: "Get Tag Name" - id: ref - shell: bash - run: | - ref="${{ github.ref }}"; - ref="${ref//refs\/heads\//}"; - ref="${ref//refs\/tags\//}"; - ref="${ref//master/dev}"; - echo "$ref"; - echo "::set-output name=name::$ref" - - uses: actions/checkout@v3 - - name: "System Setup" - run: | - apt-get update; - apt-get --assume-yes -f install curl build-essential pkg-config; - env: - DEBIAN_FRONTEND: noninteractive - TZ: "America/St_Johns" - - uses: dtolnay/rust-toolchain@stable - - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-deb - - name: "Build Deb" - run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-debian-${{ matrix.version }}_amd64.deb" - - name: "Upload Release" - uses: softprops/action-gh-release@v1 - with: - files: | - target/debian/*.deb - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - build-macos: - runs-on: macos-latest - timeout-minutes: 5 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - - name: "Build" - run: "cargo +stable build --release" - - name: "Rename" - run: "cp target/release/interactive-rebase-tool target/release/macos-interactive-rebase-tool" - - name: "Upload Release" - uses: softprops/action-gh-release@v1 - with: - files: target/release/macos-interactive-rebase-tool - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-debian: + strategy: + matrix: + version: [ '10', '11', '12', 'sid' ] + runs-on: ubuntu-latest + timeout-minutes: 10 + container: + image: 'docker://debian:${{ matrix.version }}-slim' + steps: + - name: "Get Tag Name" + id: ref + shell: bash + run: | + ref="${{ github.ref }}"; + ref="${ref//refs\/heads\//}"; + ref="${ref//refs\/tags\//}"; + ref="${ref//master/dev}"; + echo "$ref"; + echo "::set-output name=name::$ref" + - uses: actions/checkout@v3 + - name: "System Setup" + run: | + apt-get update; + apt-get --assume-yes -f install curl build-essential pkg-config; + env: + DEBIAN_FRONTEND: noninteractive + TZ: "America/St_Johns" + - uses: dtolnay/rust-toolchain@stable + - uses: baptiste0928/cargo-install@v2 + with: + crate: cargo-deb + - name: "Build Deb" + run: $HOME/.cargo/bin/cargo +stable deb --output "target/debian/git-interactive-rebase-tool-${{ steps.ref.outputs.name }}-debian-${{ matrix.version }}_amd64.deb" + - name: "Upload Release" + uses: softprops/action-gh-release@v1 + with: + files: | + target/debian/*.deb + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-macos: + runs-on: macos-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - name: "Build" + run: "cargo +stable build --release" + - name: "Rename" + run: "cp target/release/interactive-rebase-tool target/release/macos-interactive-rebase-tool" + - name: "Upload Release" + uses: softprops/action-gh-release@v1 + with: + files: target/release/macos-interactive-rebase-tool + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - build-windows: - runs-on: windows-latest - timeout-minutes: 10 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - - name: "Build" - run: "cargo rustc --target x86_64-pc-windows-msvc --release --bin interactive-rebase-tool" - - name: "Upload Release" - uses: softprops/action-gh-release@v1 - with: - files: target/x86_64-pc-windows-msvc/release/interactive-rebase-tool.exe - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-windows: + runs-on: windows-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - name: "Build" + run: "cargo rustc --target x86_64-pc-windows-msvc --release --bin interactive-rebase-tool" + - name: "Upload Release" + uses: softprops/action-gh-release@v1 + with: + files: target/x86_64-pc-windows-msvc/release/interactive-rebase-tool.exe + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |