# DO NOT EDIT, generated with cmd/gh-action-integration-generator/main.go # To regenerate, run "go generate" in cmd/gh-action-integration-generator/ name: Integration Test v2 - TestHeadscale on: [pull_request] concurrency: group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 2 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - uses: satackey/action-docker-layer-caching@main continue-on-error: true - name: Get changed files id: changed-files uses: tj-actions/changed-files@v34 with: files: | *.nix go.* **/*.go integration_test/ config-example.yaml - name: Run general integration tests if: steps.changed-files.outputs.any_changed == 'true' run: | nix develop --command -- docker run \ --tty --rm \ --volume ~/.cache/hs-integration-go:/go \ --name headscale-test-suite \ --volume $PWD:$PWD -w $PWD/integration \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume $PWD/control_logs:/tmp/control \ golang:1 \ go run gotest.tools/gotestsum@latest -- ./... \ -tags ts2019 \ -failfast \ -timeout 120m \ -parallel 1 \ -run "^TestHeadscale$" - uses: actions/upload-artifact@v3 if: always() && steps.changed-files.outputs.any_changed == 'true' with: name: logs path: "control_logs/*.log" - uses: actions/upload-artifact@v3 if: always() && steps.changed-files.outputs.any_changed == 'true' with: name: pprof path: "control_logs/*.pprof.tar"