Skip to content

release(v0.30.1): prepare release #39

release(v0.30.1): prepare release

release(v0.30.1): prepare release #39

Workflow file for this run

# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2024-02-28T11:30:58Z by kres latest.
name: default
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
"on":
push:
branches:
- main
- release-*
tags:
- v*
pull_request:
branches:
- main
- release-*
jobs:
default:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
- self-hosted
- generic
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
outputs:
labels: ${{ steps.retrieve-pr-labels.outputs.result }}
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: js
run: |
make js
- name: unit-tests-frontend
run: |
make unit-tests-frontend
- name: frontend
run: |
make frontend
- name: base
run: |
make base
- name: unit-tests-client
run: |
make unit-tests-client
- name: unit-tests-client-race
run: |
make unit-tests-client-race
- name: unit-tests
run: |
make unit-tests
- name: unit-tests-race
run: |
make unit-tests-race
- name: omni
run: |
make omni
- name: lint
run: |
make lint
- name: Login to registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
username: ${{ github.repository_owner }}
- name: image-omni
run: |
make image-omni
- name: push-omni
if: github.event_name != 'pull_request'
env:
PUSH: "true"
run: |
make image-omni
- name: push-omni-latest
if: github.event_name != 'pull_request'
env:
PUSH: "true"
run: |
make image-omni TAG=latest
- name: omni-integration-test
run: |
make omni-integration-test
- name: omnictl
run: |
make omnictl
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "true"
INTEGRATION_TEST_ARGS: --test.run CleanState/|Auth/|DefaultCluster/
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: Retrieve PR labels
id: retrieve-pr-labels
uses: actions/github-script@v7
with:
retries: "3"
script: |
if (context.eventName != "pull_request") { return "[]" }
const resp = await github.rest.issues.get({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
})
return resp.data.labels.map(label => label.name)
- name: Generate executable list
run: |
find _out -type f -executable > _out/executable-artifacts
- name: save-artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts
path: |-
_out
!_out/etcd
!_out/secondary-storage/**
retention-days: "5"
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs
path: ~/.talos/clusters/**/*.log
retention-days: "5"
- name: Generate Checksums
if: startsWith(github.ref, 'refs/tags/')
run: |
sha256sum _out/omnictl-* _out/omni-* > _out/sha256sum.txt
sha512sum _out/omnictl-* _out/omni-* > _out/sha512sum.txt
- name: release-notes
if: startsWith(github.ref, 'refs/tags/')
run: |
make release-notes
- name: Release
if: startsWith(github.ref, 'refs/tags/')
uses: crazy-max/ghaction-github-release@v2
with:
body_path: _out/RELEASE_NOTES.md
draft: "true"
files: |-
_out/omnictl-*
_out/omni-*
_out/sha*.txt
e2e-backups:
runs-on:
- self-hosted
- omni
if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-backups')
needs:
- default
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "false"
INTEGRATION_TEST_ARGS: --test.run CleanState/|EtcdBackupAndRestore
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs-e2e-backups
path: ~/.talos/clusters/**/*.log
retention-days: "5"
continue-on-error: true
e2e-scaling:
runs-on:
- self-hosted
- omni
if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-scaling')
needs:
- default
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "false"
INTEGRATION_TEST_ARGS: --test.run CleanState/|ScaleUpAndDown/|ScaleUpAndDownMachineClassBasedMachineSets/|RollingUpdateParallelism/|ForcedMachineRemoval/|ReplaceControlPlanes/|ConfigPatching/
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs-e2e-scaling
path: ~/.talos/clusters/**/*.log
retention-days: "5"
continue-on-error: true
e2e-short:
runs-on:
- self-hosted
- omni
if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-short')
needs:
- default
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "false"
INTEGRATION_TEST_ARGS: --test.run CleanState/|TalosImageGeneration/|ImmediateClusterDestruction/|DefaultCluster/|EncryptedCluster/|SinglenodeCluster/|Auth/
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs-e2e-short
path: ~/.talos/clusters/**/*.log
retention-days: "5"
continue-on-error: true
e2e-templates:
runs-on:
- self-hosted
- omni
if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-templates')
needs:
- default
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "false"
INTEGRATION_TEST_ARGS: --test.run CleanState/|ClusterTemplate/
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs-e2e-templates
path: ~/.talos/clusters/**/*.log
retention-days: "5"
continue-on-error: true
e2e-upgrades:
runs-on:
- self-hosted
- omni
if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-upgrades')
needs:
- default
services:
buildkitd:
image: moby/buildkit:v0.12.5
options: --privileged
ports:
- 1234:1234
volumes:
- /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit
- /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml
steps:
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://localhost:1234
timeout-minutes: 1
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: run-integration-test
env:
AUTH0_TEST_PASSWORD: ${{ secrets.AUTH0_TEST_PASSWORD }}
AUTH0_TEST_USERNAME: ${{ secrets.AUTH0_TEST_USERNAME }}
INTEGRATION_RUN_E2E_TEST: "false"
INTEGRATION_TEST_ARGS: --test.run CleanState/|TalosUpgrades/|KubernetesUpgrades/|MaintenanceDowngrade/
WITH_DEBUG: "true"
run: |
sudo -E make run-integration-test
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs-e2e-upgrades
path: ~/.talos/clusters/**/*.log
retention-days: "5"
continue-on-error: true