Files
secret/.gitea/workflows/test.yaml
maze e3752ce910
Some checks failed
Test / tests (darwin-amd64) (push) Successful in 21s
Test / tests (linux-amd64) (push) Successful in 26s
Run Gosec / tests (push) Successful in 51s
Test / tests (linux-arm64) (push) Successful in 3m3s
Test / tests (windows-amd64) (push) Failing after 6m24s
Simplify Vault start on Windows
2025-09-09 16:29:58 +02:00

107 lines
2.8 KiB
YAML

name: Test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
tests:
strategy:
matrix:
arch: ['linux-amd64', 'linux-arm64', 'darwin-amd64', 'windows-amd64']
runs-on: ${{ matrix.arch }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Install Hashicorp Vault (on Linux)
if: matrix.arch != 'darwin-amd64' && matrix.arch != 'windows-amd64'
run: |
./script/vault-install.sh
- name: Install Hashicorp Vault (on Windows)
if: matrix.arch == 'windows-amd64'
shell: pwsh
run: |
.\script\vault-install.ps1
- name: Start Vault in background (on Unix)
id: start-vault
if: matrix.arch != 'windows-amd64'
env:
VAULT_ADDR: "https://127.0.0.1:8200"
VAULT_SKIP_VERIFY: "true"
run: |
./script/vault-start.sh
- name: Start Vault in background (on Windows)
id: start-vault-windows
if: matrix.arch == 'windows-amd64'
shell: pwsh
env:
VAULT_ADDR: "https://127.0.0.1:8200"
VAULT_SKIP_VERIFY: "true"
run: |
.\script\vault-start.ps1
- name: Setup Vault test data (on Unix)
if: matrix.arch != 'windows-amd64'
env:
TEST_VAULT_KEY: ${{ vars.TEST_VAULT_KEY }}
TEST_VAULT_VALUE: ${{ vars.TEST_VAULT_VALUE }}
VAULT_ADDR: "https://127.0.0.1:8200"
VAULT_TOKEN: root
VAULT_SKIP_VERIFY: "true"
run: |
./script/vault-setup.sh
- name: Setup Vault test data (on Windows)
if: matrix.arch == 'windows-amd64'
shell: pwsh
env:
VAULT_ADDR: "https://127.0.0.1:8200"
VAULT_TOKEN: root
VAULT_SKIP_VERIFY: "true"
run: |
.\script\vault-setup.ps1
artifacts:
paths:
- vault.pid
- vault.out.log
- vault.err.log
- name: Vet
run: go vet -v ./...
- name: Test
env:
TEST_VAULT_KEY: ${{ vars.TEST_VAULT_KEY }}
TEST_VAULT_VALUE: ${{ vars.TEST_VAULT_VALUE }}
VAULT_ADDR: "https://127.0.0.1:8200"
VAULT_TOKEN: root
VAULT_SKIP_VERIFY: "true"
run: |
go test -v ./...
- name: Stop Vault (on Unix)
if: always() && matrix.arch != 'windows-amd64'
run: |
if [ -f vault.pid ]; then
kill $(cat vault.pid) 2>/dev/null || true
rm -f vault.pid
fi
- name: Stop Vault (on Windows)
if: always() && matrix.arch == 'windows-amd64'
shell: pwsh
run: |
.\script\vault-stop.ps1