diff options
author | Tim Oram <dev@mitmaro.ca> | 2022-08-25 19:33:21 -0230 |
---|---|---|
committer | Tim Oram <dev@mitmaro.ca> | 2022-08-25 23:43:41 -0230 |
commit | 74fa215279541a36a5ae61ce2af39dc78f84d931 (patch) | |
tree | 037f03ac12dc6b971b17272f13dc3c576b756c70 /.github | |
parent | e5693d831e9bc3349bb719f5b647833189df6607 (diff) |
Update GitHub actions
Update and refactor all GitHub actions to take advantage of caching and
remove some unneeded action runners.
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/master-coverage.yml | 11 | ||||
-rw-r--r-- | .github/workflows/pull-request.yml | 155 | ||||
-rw-r--r-- | .github/workflows/release-latest.yml | 35 | ||||
-rw-r--r-- | .github/workflows/release.yml | 22 |
4 files changed, 71 insertions, 152 deletions
diff --git a/.github/workflows/master-coverage.yml b/.github/workflows/master-coverage.yml index 53e3f7c..8007a1d 100644 --- a/.github/workflows/master-coverage.yml +++ b/.github/workflows/master-coverage.yml @@ -7,15 +7,12 @@ on: jobs: coverage: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: "nightly" - profile: minimal - override: true + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 - name: Run cargo-tarpaulin uses: actions-rs/tarpaulin@v0.1 with: diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 87925eb..1b2b23c 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -4,88 +4,55 @@ on: [pull_request] jobs: linux: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-make + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - run: cargo install cargo-make - name: Test - uses: actions-rs/cargo@v1 - with: - command: make - args: test + run: cargo make test - name: Build Release - uses: actions-rs/cargo@v1 - with: - command: make - args: "build --release" + run: cargo make build --release - name: Run - uses: actions-rs/cargo@v1 - with: - command: run - args: "--release -- --version" + run: cargo run --release -- --version lint: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable with: - toolchain: stable components: clippy - override: true - - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --all-targets --all-features + - uses: Swatinem/rust-cache@v2 + - run: cargo install cargo-make + - run: cargo make lint-stable docs: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: default - override: true - - name: Run - uses: actions-rs/cargo@v1 - with: - command: doc - args: "--all-features --workspace" + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - run: cargo doc --all-features --workspace format: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: default - override: true - - name: Run - uses: actions-rs/cargo@v1 + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly with: - command: fmt - args: " --all -- --check" + components: rustfmt + - uses: Swatinem/rust-cache@v2 + - run: cargo install cargo-make + - run: cargo make format coverage: - runs-on: [ ubuntu-latest ] + runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: "nightly" - profile: minimal - override: true + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 - name: Run cargo-tarpaulin uses: actions-rs/tarpaulin@v0.1 with: @@ -99,70 +66,36 @@ jobs: path-to-lcov: "coverage/lcov.info" macos: name: macos - runs-on: [ macos-latest ] + runs-on: macos-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-make + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - run: cargo install cargo-make - name: Test - uses: actions-rs/cargo@v1 - with: - command: make - args: test + run: cargo make test - name: Build Release - uses: actions-rs/cargo@v1 - with: - command: make - args: "build --release" + run: cargo make build --release - name: Run - uses: actions-rs/cargo@v1 - with: - command: run - args: "--release -- --version" + run: cargo run --release -- --version windows: name: windows - runs-on: [ windows-latest ] + runs-on: windows-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - name: Run - uses: actions-rs/cargo@v1 - env: - RUSTFLAGS: '--cap-lints warn' - with: - command: run - args: "--target x86_64-pc-windows-msvc --release -- --version" + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 - name: Test - uses: actions-rs/cargo@v1 env: RUSTFLAGS: '--cap-lints warn' - with: - command: test - args: "--target x86_64-pc-windows-msvc --release --workspace" + run: cargo test --target x86_64-pc-windows-msvc --release --workspace - name: Build - uses: actions-rs/cargo@v1 env: RUSTFLAGS: '--cap-lints warn' - with: - command: build - args: "--target x86_64-pc-windows-msvc --release" + run: cargo build --target x86_64-pc-windows-msvc --release - name: Run - uses: actions-rs/cargo@v1 env: RUSTFLAGS: '--cap-lints warn' - with: - command: run - args: "--target x86_64-pc-windows-msvc --release -- --version" + run: cargo run --target x86_64-pc-windows-msvc --release -- --version diff --git a/.github/workflows/release-latest.yml b/.github/workflows/release-latest.yml index e7c10f9..c43eb60 100644 --- a/.github/workflows/release-latest.yml +++ b/.github/workflows/release-latest.yml @@ -7,18 +7,16 @@ on: jobs: ubuntu: name: Ubuntu - runs-on: [ubuntu-latest] + runs-on: ubuntu-latest timeout-minutes: 10 env: TARGET_RELEASE_ID: 18843342 GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" REPOSITORY: "MitMaro/git-interactive-rebase-tool" steps: - - uses: actions/checkout@v2 - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 - name: "System Setup" run: | sudo apt-get update || true; @@ -38,23 +36,20 @@ jobs: run: "./.github/scripts/update-tag.bash" macos: name: MacOS - runs-on: [macos-latest] + runs-on: macos-latest timeout-minutes: 5 env: TARGET_RELEASE_ID: 18843342 GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" REPOSITORY: "MitMaro/git-interactive-rebase-tool" steps: - - uses: actions/checkout@v2 - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - name: "Build" - run: cargo build --features dev --release - - 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: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + - name: "Build" + run: cargo build --features dev --release + - 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" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d748fa2..de1e350 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,8 +24,7 @@ jobs: ref="${ref//master/dev}"; echo "$ref"; echo "::set-output name=name::$ref" - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "System Setup" run: | apt-get update; @@ -63,8 +62,7 @@ jobs: ref="${ref//master/dev}"; echo "$ref"; echo "::set-output name=name::$ref" - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "System Setup" run: | apt-get update; @@ -103,8 +101,7 @@ jobs: ref="${ref//master/dev}"; echo "$ref"; echo "::set-output name=name::$ref" - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "System Setup" run: | apt-get update; @@ -142,8 +139,7 @@ jobs: ref="${ref//master/dev}"; echo "$ref"; echo "::set-output name=name::$ref" - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "System Setup" run: | apt-get update; @@ -163,11 +159,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-macos: - runs-on: [macos-latest] + runs-on: macos-latest timeout-minutes: 5 steps: - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "Build" run: "cargo build --release" - name: "Rename" @@ -180,11 +175,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-windows: - runs-on: [windows-latest] + runs-on: windows-latest timeout-minutes: 10 steps: - - name: "Checkout project" - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: "Build" run: "cargo rustc --target x86_64-pc-windows-msvc --release --bin interactive-rebase-tool" - name: "Upload Release" |