artifacts/.github/workflows/build-sealos-offline-installer.yml
2025-08-21 15:51:16 +08:00

105 lines
2.8 KiB
YAML

name: Build Sealos Offline Installer
on:
push:
paths:
- 'scripts/create-sealos-offline-package.sh'
- 'scripts/sealos-install.sh'
- 'scripts/cilium-values.yaml'
- '.github/workflows/build-sealos-offline-installer.yml'
workflow_dispatch:
jobs:
build-sealos-installer:
strategy:
matrix:
arch: [amd64, arm64]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Run Offline Package Builder
run: |
chmod +x scripts/create-sealos-offline-package.sh
ARCH=${{ matrix.arch }} ./scripts/create-sealos-offline-package.sh
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: sealos-offline-package-${{ matrix.arch }}
path: sealos-offline-package-${{ matrix.arch }}.tar.gz
test-sealos-installer:
needs: build-sealos-installer
strategy:
matrix:
arch: [amd64]
runs-on: ubuntu-latest
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: sealos-offline-package-${{ matrix.arch }}
path: ./test-dir
- name: Extract Package
run: |
cd test-dir
tar -xzvf sealos-offline-package-${{ matrix.arch }}.tar.gz
- name: Verify Package Contents
run: |
test -f test-dir/sealos-offline-package/sealos-install.sh
test -f test-dir/sealos-offline-package/cilium-values.yaml
publish-release:
needs: test-sealos-installer
runs-on: ubuntu-latest
env:
tag_name: offline-sealos-${{ github.run_number }}
steps:
- uses: actions/checkout@v4
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ env.tag_name }}
release_name: Daily Build ${{ env.tag_name }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download amd64 Artifact
uses: actions/download-artifact@v4
with:
name: sealos-offline-package-amd64
path: release-artifacts
- name: Download arm64 Artifact
uses: actions/download-artifact@v4
with:
name: sealos-offline-package-arm64
path: release-artifacts
- name: Upload to GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.tag_name }}
files: |
release-artifacts/sealos-offline-package-amd64.tar.gz
release-artifacts/sealos-offline-package-arm64.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}