Skip to content

feat: implement bare-metal provider #4

feat: implement bare-metal provider

feat: implement bare-metal provider #4

Workflow file for this run

# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2024-11-28T09:31:42Z by kres 232fe63.
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/'))
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/[email protected]
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@v4
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: base
run: |
make base
# - name: unit-tests
# run: |
# make unit-tests
# - name: unit-tests-race
# run: |
# make unit-tests-race
- name: provider
run: |
make provider
# - 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-provider
# run: |
# make image-provider
# - name: push-provider
# if: github.event_name != 'pull_request'
# env:
# PLATFORM: linux/amd64,linux/arm64
# PUSH: "true"
# run: |
# make image-provider
- name: qemu-up
run: |
make qemu-up
# - 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-qemu-up
# run: |
# make image-qemu-up
# - name: push-qemu-up
# if: github.event_name != 'pull_request'
# env:
# PLATFORM: linux/amd64,linux/arm64
# PUSH: "true"
# run: |
# make image-qemu-up
- name: run-integration-test
run: |
sudo -E make run-integration-test
- 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
retention-days: "5"
- name: save-talos-logs-artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: talos-logs
path: |-
~/.talos/clusters/**/*.log
!~/.talos/clusters/**/swtpm.log
retention-days: "5"
- name: Generate Checksums
if: startsWith(github.ref, 'refs/tags/')
run: |
cd _out
sha256sum provider-* qemu-up-* > sha256sum.txt
sha512sum provider-* qemu-up-* > 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/provider-*
_out/qemu-up-*
_out/sha*.txt