3 Commits

Author SHA1 Message Date
Micheal Wilkinson
4a8ef7e1f6 ci(gitea): use pip for awscli installation
Some checks failed
Push Validation / validate (push) Failing after 5m59s
2026-03-20 12:53:09 +00:00
Micheal Wilkinson
b3f66e9e2e docs(changelog): note go cache in gitea pipelines 2026-03-20 12:07:18 +00:00
Micheal Wilkinson
9d6dacb0f8 ci: cache go modules and build outputs in workflows 2026-03-20 12:07:10 +00:00
4 changed files with 64 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ jobs:
validate:
runs-on: ubuntu-latest
env:
RUNNER_TOOL_CACHE: /cache/tools
ARTEFACT_BUCKET_NAME: ${{ vars.ARTEFACT_BUCKET_NAME }}
ARTEFACT_BUCKET_ENDPONT: ${{ vars.ARTEFACT_BUCKET_ENDPONT }}
ARTEFACT_BUCKET_REGION: ${{ vars.ARTEFACT_BUCKET_REGION }}
@@ -27,14 +28,31 @@ jobs:
with:
go-version-file: go.mod
- name: Get go-hashfiles
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
id: hash-go
with:
patterns: |-
go.mod
go.sum
- name: Cache go
id: cache-go
uses: https://github.com/actions/cache@v3
with:
path: |-
/root/go/pkg/mod
/root/.cache/go-build
key: go_cache-${{ steps.hash-go.outputs.hash }}
restore-keys: |-
go_cache-${{ steps.hash-go.outputs.hash }}
- name: Ensure tooling is available
run: |
set -euo pipefail
if ! command -v aws >/dev/null 2>&1; then
sudo apt-get update
sudo apt-get install -y awscli jq
exit 0
pip install awscli
fi
if ! command -v jq >/dev/null 2>&1; then

View File

@@ -11,6 +11,7 @@ jobs:
validate:
runs-on: ubuntu-latest
env:
RUNNER_TOOL_CACHE: /cache/tools
ARTEFACT_BUCKET_NAME: ${{ vars.ARTEFACT_BUCKET_NAME }}
ARTEFACT_BUCKET_ENDPONT: ${{ vars.ARTEFACT_BUCKET_ENDPONT }}
ARTEFACT_BUCKET_REGION: ${{ vars.ARTEFACT_BUCKET_REGION }}
@@ -27,13 +28,31 @@ jobs:
with:
go-version-file: go.mod
- name: Get go-hashfiles
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
id: hash-go
with:
patterns: |-
go.mod
go.sum
- name: Cache go
id: cache-go
uses: https://github.com/actions/cache@v3
with:
path: |-
/root/go/pkg/mod
/root/.cache/go-build
key: go_cache-${{ steps.hash-go.outputs.hash }}
restore-keys: |-
go_cache-${{ steps.hash-go.outputs.hash }}
- name: Ensure tooling is available
run: |
set -euo pipefail
if ! command -v aws >/dev/null 2>&1; then
sudo apt-get update
sudo apt-get install -y awscli
pip install awscli
fi
- name: Run full unit test suite with coverage

View File

@@ -8,6 +8,8 @@ on:
jobs:
build:
runs-on: ubuntu-latest
env:
RUNNER_TOOL_CACHE: /cache/tools
strategy:
fail-fast: false
matrix:
@@ -30,6 +32,25 @@ jobs:
with:
go-version-file: go.mod
- name: Get go-hashfiles
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
id: hash-go
with:
patterns: |-
go.mod
go.sum
- name: Cache go
id: cache-go
uses: https://github.com/actions/cache@v3
with:
path: |-
/root/go/pkg/mod
/root/.cache/go-build
key: go_cache-${{ steps.hash-go.outputs.hash }}
restore-keys: |-
go_cache-${{ steps.hash-go.outputs.hash }}
- name: Build binary
run: |
mkdir -p dist

View File

@@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Git operations for clone and track migrated to `go-git`.
- Build and behavior workflows now produce and run the `gosick` binary name.
- CI validation is unified into push events, running behavior tests only on `main` pushes.
- Gitea CI workflows now cache Go modules and build artifacts using a shared runner tool cache.
- Gitea workflow and README badge updated from `push-unit-tests` to `push-validation`.
- CLI help now uses the invoked binary name (defaulting to `gosick`) in usage output.
- CLI help description now reflects Homesick's purpose for managing precious dotfiles.