name: test on: push: branches: - main jobs: test-default: runs-on: ubuntu-latest container: image: gitea/runner-images:ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup go uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - name: Setup Hashicorp Vault run: | wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list apt-get update && apt-get -y install vault - name: Start Vault in background run: | # Start Vault server in background vault server -dev -dev-root-token-id=root -dev-listen-address=0.0.0.0:8200 > vault.log 2>&1 & echo $! > vault.pid - name: Vet run: go vet -v ./... - name: Test run: | VAULT_SKIP_VERIFY=${vars.VAULT_SKIP_VERIFY} \ TEST_VAULT_VALUE="${vars.TEST_VAULT_VALUE}" \ TEST_VAULT_KEY="${vars.TEST_VAULT_KEY}" \ go test -v ./... - name: Stop Vault (always run) if: always() run: | if [ -f vault.pid ]; then kill $(cat vault.pid) 2>/dev/null || true rm -f vault.pid fi