build(deps): bump golang.org/x/time from 0.7.0 to 0.8.0 #182
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
branches: | |
- master | |
tags-ignore: | |
- "*" | |
paths: | |
- .dockerignore | |
- .env | |
- .envrc | |
- .github/workflows/integration.yml | |
- .golangci.yaml | |
- .goreleaser.yaml | |
- .task/*.yaml | |
- '**.go' | |
- container-structure-test.yaml | |
- Dockerfile | |
- go.mod | |
- go.sum | |
- shell.nix | |
- Taskfile.yaml | |
pull_request: | |
branches: | |
- master | |
paths: | |
- .dockerignore | |
- .env | |
- .envrc | |
- .github/workflows/integration.yml | |
- .golangci.yaml | |
- .goreleaser.yaml | |
- .task/*.yaml | |
- '**.go' | |
- container-structure-test.yaml | |
- Dockerfile | |
- go.mod | |
- go.sum | |
- shell.nix | |
- Taskfile.yaml | |
permissions: | |
contents: read | |
security-events: write | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: direnv nix | |
uses: JRMurr/[email protected] | |
with: | |
install-nix: true | |
cache-store: true | |
- name: set golang environment variables | |
uses: wwmoraes/actions/golang/env@master | |
- name: cache modules | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${GOMODCACHE} | |
key: ${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
${{ runner.os }}-modules- | |
- name: download modules | |
run: go mod download -x | |
- name: cache build | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${GOCACHE} | |
key: ${{ runner.os }}-build-${{ hashFiles('**/*.go') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ hashFiles('**/*.go') }} | |
${{ runner.os }}-build- | |
- name: build | |
run: task build | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: direnv nix | |
uses: JRMurr/[email protected] | |
with: | |
install-nix: true | |
cache-store: true | |
- name: set golang environment variables | |
uses: wwmoraes/actions/golang/env@master | |
- name: cache modules | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${GOMODCACHE} | |
key: ${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
${{ runner.os }}-modules- | |
- name: download modules | |
run: go mod download | |
- name: cache lint | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${HOME}/.cache/golangci-lint | |
key: ${{ runner.os }}-lint-${{ hashFiles('.golangci.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-lint-${{ hashFiles('.golangci.yaml') }} | |
${{ runner.os }}-lint- | |
- name: run lint | |
run: task lint | |
continue-on-error: true | |
- name: Upload golangci-lint report | |
uses: github/codeql-action/upload-sarif@v3 | |
if: always() | |
with: | |
sarif_file: golangci-lint.sarif | |
category: golangci-lint | |
- name: Upload hadolint report | |
uses: github/codeql-action/upload-sarif@v3 | |
if: always() | |
with: | |
sarif_file: hadolint.sarif | |
category: hadolint | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: direnv nix | |
uses: JRMurr/[email protected] | |
with: | |
install-nix: true | |
cache-store: true | |
- name: set golang environment variables | |
uses: wwmoraes/actions/golang/env@master | |
- name: cache modules | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${GOMODCACHE} | |
key: ${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-modules-${{ hashFiles('go.sum') }} | |
${{ runner.os }}-modules- | |
- name: download modules | |
run: go mod download | |
- name: cache test | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${GOCACHE} | |
key: ${{ runner.os }}-test-${{ hashFiles('**/*.go') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ hashFiles('**/*.go') }} | |
${{ runner.os }}-test- | |
- name: run test | |
run: task test | |
- name: upload coverage report | |
run: task coverage:upload | |
if: always() | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
container: | |
runs-on: ubuntu-latest | |
env: | |
# runner context is not available here... | |
GRYPE_DB_CACHE_TEMP_PATH: .cache/grype/db/ | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: direnv nix | |
uses: JRMurr/[email protected] | |
with: | |
install-nix: true | |
cache-store: true | |
- name: set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: set up docker buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: cache buildx | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ${{ runner.temp }}/.buildx-cache | |
# yamllint disable-line rule:line-length | |
key: ${{ runner.os }}-buildx-${{ hashFiles('Dockerfile', '.dockerignore') }} | |
# yamllint disable rule:line-length | |
restore-keys: | | |
${{ runner.os }}-buildx-${{ hashFiles('Dockerfile', '.dockerignore') }} | |
${{ runner.os }}-buildx- | |
# yamllint enable rule:line-length | |
- name: build container image | |
run: >- | |
task docker:build -- | |
--cache-to type=local,mode=max,dest=${{ runner.temp }}/.buildx-cache-new | |
--cache-from type=local,src=${{ runner.temp }}/.buildx-cache | |
# fix to prevent ever-growing caches | |
# https://github.com/docker/build-push-action/issues/252 | |
# https://github.com/moby/buildkit/issues/1896 | |
- name: Move cache | |
run: | | |
rm -rf ${{ runner.temp }}/.buildx-cache | |
mv ${{ runner.temp }}/.buildx-cache-new ${{ runner.temp }}/.buildx-cache | |
- name: test container | |
run: task test:container |