Skip to content

chore(deps): update docker/build-push-action digest to 48aba3b #554

chore(deps): update docker/build-push-action digest to 48aba3b

chore(deps): update docker/build-push-action digest to 48aba3b #554

Workflow file for this run

name: e2e
on:
push:
branches: [main]
pull_request:
branches: [main]
types: [opened, synchronize, reopened]
env:
BINARY_NAME: tailout
# tailout environment variables
TAILOUT_REGION: eu-west-3
TAILOUT_NON_INTERACTIVE: "true"
TAILOUT_CREATE_CONNECT: "true"
TAILOUT_CREATE_SHUTDOWN: 5m
TAILOUT_TAILSCALE_TAILNET: ${{ secrets.TAILSCALE_TAILNET }}
TAILOUT_TAILSCALE_API_KEY: ${{ secrets.TAILSCALE_API_KEY }}
TAILOUT_TAILSCALE_AUTH_KEY: ${{ secrets.TAILSCALE_AUTH_KEY }}
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
build:
runs-on: ubuntu-latest
if: "github.actor != 'renovate[bot]'"
steps:
- uses: actions/checkout@v4
- name: Build tailout
uses: ./.github/actions/build
with:
binary_name: ${{ env.BINARY_NAME }}
e2e-tests:
runs-on: ubuntu-latest
if: "github.actor != 'renovate[bot]'"
needs: build
strategy:
fail-fast: false
matrix:
include:
- first_command: "tailout init"
- first_command: "tailout create"
second_command: "tailout status"
third_command: "tailout disconnect"
- first_command: "tailout create"
second_command: "tailout disconnect"
third_command: "tailout status"
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
with:
region: ${{ env.TAILOUT_REGION }}
role_arn: ${{ secrets.AWS_GITHUB_ACTIONS_TAILOUT_ROLE_ARN }}
tailscale_oauth_client_id: ${{ secrets.TAILSCALE_OAUTH_CLIENT_ID }}
tailscale_oauth_client_secret: ${{ secrets.TAILSCALE_OAUTH_CLIENT_SECRET }}
binary_name: ${{ env.BINARY_NAME }}
- name: First command
run: ${{ matrix.first_command }}
- name: Second command
if: ${{ matrix.second_command != '' }}
run: ${{ matrix.second_command }}
- name: Third command
if: ${{ matrix.third_command != '' }}
run: ${{ matrix.third_command }}
# TODO: check if the public IP address matches the one from the new instance
# TODO: find a better concurrency pattern
cleanup:
runs-on: ubuntu-latest
if: "github.actor != 'renovate[bot]'"
needs: e2e-tests
concurrency:
group: cleanup
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
with:
region: ${{ env.TAILOUT_REGION }}
role_arn: ${{ secrets.AWS_GITHUB_ACTIONS_TAILOUT_ROLE_ARN }}
tailscale_oauth_client_id: ${{ secrets.TAILSCALE_OAUTH_CLIENT_ID }}
tailscale_oauth_client_secret: ${{ secrets.TAILSCALE_OAUTH_CLIENT_SECRET }}
binary_name: ${{ env.BINARY_NAME }}
- name: Cleanup
run: tailout stop --all
# TODO: Add cleanup for github nodes as well