Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
self-hosted-runner:
labels:
- namespace-profile-endev-linux-amd64
- namespace-profile-endev-linux-arm64
- namespace-profile-endev-macos-arm64
8 changes: 4 additions & 4 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ env:
jobs:
autofix:
if: github.actor != 'renovate[bot]' && github.actor != 'mend[bot]'
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
timeout-minutes: 10
Comment thread
greptile-apps[bot] marked this conversation as resolved.
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
shared-key: autofix
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- run: mise x -- aube install
- run: "mise run render ::: lint-fix"
- uses: autofix-ci/action@7a166d7532b277f34e16238930461bf77f9d7ed8 # v1.3.3
88 changes: 48 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
#- ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
include:
- os: macos-latest
runner: namespace-profile-endev-macos-arm64
- os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- run: mise run build
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
Expand All @@ -53,18 +56,18 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
#- ubuntu-24.04-arm
#- windows-latest
runs-on: ${{ matrix.os }}
include:
- os: macos-latest
runner: namespace-profile-endev-macos-arm64
- os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
steps:
- run: brew install parallel
if: ${{ matrix.os == 'macos-latest' }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1
with:
toolchain: nightly
Expand All @@ -87,18 +90,18 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
#- ubuntu-24.04-arm
#- windows-latest
runs-on: ${{ matrix.os }}
include:
- os: macos-latest
runner: namespace-profile-endev-macos-arm64
- os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
steps:
- run: brew install parallel
if: ${{ matrix.os == 'macos-latest' }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1
with:
toolchain: nightly
Expand All @@ -121,18 +124,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
#- ubuntu-24.04-arm
#- windows-latest
os: [macos-latest, ubuntu-latest]
# Pinned to github-hosted runners: builtins_tests.bats installs ~50
# tools via mise under 16-way parallelism, which surfaces a
# mise + namespace-runner incompatibility (many backends report
# "does not have an executable named X" on fresh installs, and
# asdf:swiftlint binaries SIGILL on namespace's linux image).
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- run: brew install parallel
if: ${{ matrix.os == 'macos-latest' }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1
with:
toolchain: nightly
Expand All @@ -154,31 +158,35 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
#- ubuntu-24.04-arm
#- windows-latest
runs-on: ${{ matrix.os }}
include:
- os: macos-latest
runner: namespace-profile-endev-macos-arm64
- os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
steps:
- run: brew install parallel
if: ${{ matrix.os == 'macos-latest' }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- run: mise x -- aube install
- name: mise run test:cargo
run: mise run test:cargo
- name: mise run lint
run: mise run lint
msrv:
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- run: mise run msrv
ci-windows:
needs: build-windows
Expand All @@ -187,7 +195,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: hk-windows-latest
Expand All @@ -214,7 +222,7 @@ jobs:
- ci-other
- ci-windows
- msrv
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
timeout-minutes: 1
if: always()
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
permissions:
contents: read
pull-requests: read
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,16 @@ jobs:
# Build job
build:
if: github.repository == 'jdx/hk'
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- name: Setup Pages
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6
- name: Build with VitePress
Expand All @@ -61,7 +63,7 @@ jobs:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
needs: build
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
name: Deploy
steps:
- name: Deploy to GitHub Pages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-closer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
close-stale-prs:
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
permissions:
pull-requests: write
steps:
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/release-plz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@ env:
jobs:
release-plz:
if: github.repository == 'jdx/hk'
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
token: ${{ secrets.HK_GH_TOKEN }}
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
with:
experimental: true
- run: mise trust --all
Expand Down
36 changes: 25 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,47 @@ env:

jobs:
build-binaries:
runs-on: ${{ matrix.os }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- target: aarch64-apple-darwin
os: macos-latest
runner: namespace-profile-endev-macos-arm64
build-tool: cargo
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
build-tool: cross
- target: aarch64-unknown-linux-musl
os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
build-tool: cross
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
build-tool: cross
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
runner: namespace-profile-endev-linux-amd64
build-tool: cross
- target: x86_64-pc-windows-msvc
os: windows-latest
runner: windows-latest
build-tool: cargo
- target: aarch64-pc-windows-msvc
os: windows-latest
runner: windows-latest
build-tool: cargo
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- if: matrix.os != 'windows-latest'
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- if: matrix.os == 'windows-latest'
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with:
shared-key: rust-${{ matrix.target }}
- if: matrix.os == 'macos-latest'
Expand Down Expand Up @@ -78,10 +90,10 @@ jobs:
retention-days: 1

build-pkl:
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- name: Package Pkl
run: |
if [[ -n "${{ inputs.version }}" ]]; then
Expand All @@ -106,12 +118,12 @@ jobs:

create-release:
needs: [build-binaries, build-pkl]
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- name: Extract release notes from CHANGELOG.md
run: |
awk '/^## \[/{if(found) exit; found=1} found{print}' CHANGELOG.md > release-notes.md
Expand Down Expand Up @@ -145,23 +157,25 @@ jobs:
publish-crate:
needs: [create-release]
if: github.repository == 'jdx/hk'
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
with:
cache: rust
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

enhance-release:
needs: [create-release]
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4
- uses: jdx/mise-action@b287efda3dc5f4f3c328507653b6617da783ff84 # v4
- name: Enhance release notes with communique
run: |
if [[ -n "${{ inputs.version }}" ]]; then
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/semantic-pr-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
runs-on: namespace-profile-endev-linux-amd64
permissions:
pull-requests: read
steps:
Expand Down
2 changes: 1 addition & 1 deletion mise.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion test/builtin_tool_stubs/shellcheck
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env -S mise tool-stub

version = "0.11.0"
tool = "ubi:koalaman/shellcheck"
tool = "shellcheck"
Loading