2021-08-13 15:12:01 +00:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on: [pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
integration-test:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2022-01-30 09:54:26 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 2
|
2021-08-13 15:12:01 +00:00
|
|
|
|
2022-08-02 19:16:20 +00:00
|
|
|
- name: Set up Docker Buildx
|
|
|
|
id: buildx
|
|
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
|
2022-08-02 19:28:01 +00:00
|
|
|
- name: Inspect builder
|
|
|
|
run: |
|
|
|
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
|
|
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
|
|
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
|
|
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
|
|
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
|
|
|
|
2022-01-30 09:43:48 +00:00
|
|
|
- name: Get changed files
|
|
|
|
id: changed-files
|
|
|
|
uses: tj-actions/changed-files@v14.1
|
|
|
|
with:
|
|
|
|
files: |
|
2022-03-17 18:08:49 +00:00
|
|
|
*.nix
|
2022-01-30 09:43:48 +00:00
|
|
|
go.*
|
|
|
|
**/*.go
|
|
|
|
integration_test/
|
|
|
|
config-example.yaml
|
2022-08-02 19:06:32 +00:00
|
|
|
Dockerfile*
|
2022-01-30 09:43:48 +00:00
|
|
|
|
2022-03-17 18:20:01 +00:00
|
|
|
- uses: cachix/install-nix-action@v16
|
2022-01-30 09:43:48 +00:00
|
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
2021-08-13 15:12:01 +00:00
|
|
|
|
|
|
|
- name: Run Integration tests
|
2022-01-30 09:43:48 +00:00
|
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
2022-06-27 12:02:29 +00:00
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
with:
|
|
|
|
timeout_minutes: 240
|
|
|
|
max_attempts: 5
|
|
|
|
retry_on: error
|
|
|
|
command: nix develop --command -- make test_integration
|