summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2022-08-25 19:33:21 -0230
committerTim Oram <dev@mitmaro.ca>2022-08-25 23:43:41 -0230
commit74fa215279541a36a5ae61ce2af39dc78f84d931 (patch)
tree037f03ac12dc6b971b17272f13dc3c576b756c70 /.github
parente5693d831e9bc3349bb719f5b647833189df6607 (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.yml11
-rw-r--r--.github/workflows/pull-request.yml155
-rw-r--r--.github/workflows/release-latest.yml35
-rw-r--r--.github/workflows/release.yml22
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"