fixed workflow typo #150
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: rancher-airgap-workflow | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- '*' | |
jobs: | |
rancher-airgap-build: | |
name: Rancher Airgap - Build Job | |
runs-on: [self-hosted, linux, X64] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
curl -sfL https://get.hauler.dev | sudo HAULER_VERSION=${HaulerVersion} HAULER_INSTALL_DIR=/usr/bin bash | |
hauler version | |
pwd && ls -laR | |
- name: Build Hauler | |
run: | | |
sh hauler/scripts/hauler/hauler-hauler.sh | |
mv /opt/hauler/hauler/rancher-airgap-hauler.yaml hauler/hauler/rancher-airgap-hauler.yaml | |
pwd && ls -laR hauler/hauler | |
- name: Build Helm | |
run: | | |
sh hauler/scripts/helm/hauler-helm.sh | |
mv /opt/hauler/helm/rancher-airgap-helm.yaml hauler/helm/rancher-airgap-helm.yaml | |
pwd && ls -laR hauler/helm | |
- name: Build Cosign | |
run: | | |
sh hauler/scripts/cosign/hauler-cosign.sh | |
mv /opt/hauler/cosign/rancher-airgap-cosign.yaml hauler/cosign/rancher-airgap-cosign.yaml | |
pwd && ls -laR hauler/cosign | |
- name: Build RKE2 | |
run: | | |
sh hauler/scripts/rke2/hauler-rke2.sh | |
mv /opt/hauler/rke2/rancher-airgap-rke2.yaml hauler/rke2/rancher-airgap-rke2.yaml | |
pwd && ls -laR hauler/rke2 | |
- name: Build Rancher | |
run: | | |
sh hauler/scripts/rancher/hauler-rancher.sh | |
mv /opt/hauler/rancher/rancher-airgap-rancher.yaml hauler/rancher/rancher-airgap-rancher.yaml | |
pwd && ls -laR hauler/rancher | |
- name: Build Rancher Minimal | |
run: | | |
sh hauler/scripts/rancher/hauler-rancher-minimal.sh | |
mv /opt/hauler/rancher-minimal/rancher-airgap-rancher-minimal.yaml hauler/rancher/rancher-airgap-rancher-minimal.yaml | |
pwd && ls -laR hauler/rancher | |
- name: Build Longhorn | |
run: | | |
sh hauler/scripts/longhorn/hauler-longhorn.sh | |
mv /opt/hauler/longhorn/rancher-airgap-longhorn.yaml hauler/longhorn/rancher-airgap-longhorn.yaml | |
pwd && ls -laR hauler/longhorn | |
- name: Build NeuVector | |
run: | | |
sh hauler/scripts/neuvector/hauler-neuvector.sh | |
mv /opt/hauler/neuvector/rancher-airgap-neuvector.yaml hauler/neuvector/rancher-airgap-neuvector.yaml | |
pwd && ls -laR hauler/neuvector | |
- name: Build Harvester | |
run: | | |
sh hauler/scripts/harvester/hauler-harvester.sh | |
mv /opt/hauler/harvester/rancher-airgap-harvester.yaml hauler/harvester/rancher-airgap-harvester.yaml | |
pwd && ls -laR hauler/harvester | |
- name: Build Gitea | |
run: | | |
sh hauler/scripts/gitea/hauler-gitea.sh | |
mv /opt/hauler/gitea/rancher-airgap-gitea.yaml hauler/gitea/rancher-airgap-gitea.yaml | |
pwd && ls -laR hauler/gitea | |
- name: Build KubeVip | |
run: | | |
sh hauler/scripts/kubevip/hauler-kubevip.sh | |
mv /opt/hauler/kubevip/rancher-airgap-kubevip.yaml hauler/kubevip/rancher-airgap-kubevip.yaml | |
pwd && ls -laR hauler/kubevip | |
- name: Build Vault | |
run: | | |
sh hauler/scripts/vault/hauler-vault.sh | |
mv /opt/hauler/vault/rancher-airgap-vault.yaml hauler/vault/rancher-airgap-vault.yaml | |
pwd && ls -laR hauler/vault | |
- name: Commit and Push Repository | |
continue-on-error: true | |
run: | | |
pwd && ls -laR | |
git status | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
git add *.yaml | |
git commit -a -m "updated rancher airgap assets [github-actions]" | |
git push | |
rancher-airgap-testing: | |
name: Rancher Airgap - Test/Lint Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -laR | |
- name: Test/Lint Hauler | |
run: | | |
cd hauler/hauler | |
time hauler store sync --files rancher-airgap-hauler.yaml | |
time hauler store save --filename hauler.tar.zst | |
hauler store info | |
ls -laR && rm -rf store hauler.tar.zst | |
- name: Test/Lint Helm | |
run: | | |
cd hauler/helm | |
time hauler store sync --files rancher-airgap-helm.yaml | |
time hauler store save --filename helm.tar.zst | |
hauler store info | |
ls -laR && rm -rf store helm.tar.zst | |
- name: Test/Lint Cosign | |
run: | | |
cd hauler/cosign | |
time hauler store sync --files rancher-airgap-cosign.yaml | |
time hauler store save --filename cosign.tar.zst | |
hauler store info | |
ls -laR && rm -rf store cosign.tar.zst | |
- name: Test/Lint RKE2 | |
run: | | |
cd hauler/rke2 | |
time hauler store sync --files rancher-airgap-rke2.yaml | |
time hauler store save --filename rke2.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rke2.tar.zst | |
- name: Test/Lint Rancher | |
run: | | |
cd hauler/rancher | |
time hauler store sync --files rancher-airgap-rancher.yaml | |
time hauler store save --filename rancher.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rancher.tar.zst | |
- name: Test/Lint Rancher Minimal | |
run: | | |
cd hauler/rancher | |
rm -rf store | |
time hauler store sync --files rancher-airgap-rancher-minimal.yaml | |
time hauler store save --filename rancher-minimal.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rancher-minimal.tar.zst | |
- name: Test/Lint Longhorn | |
run: | | |
cd hauler/longhorn | |
time hauler store sync --files rancher-airgap-longhorn.yaml | |
time hauler store save --filename longhorn.tar.zst | |
hauler store info | |
ls -laR && rm -rf store longhorn.tar.zst | |
- name: Test/Lint NeuVector | |
run: | | |
cd hauler/neuvector | |
time hauler store sync --files rancher-airgap-neuvector.yaml | |
time hauler store save --filename neuvector.tar.zst | |
hauler store info | |
ls -laR && rm -rf store neuvector.tar.zst | |
- name: Test/Lint Harvester | |
run: | | |
cd hauler/harvester | |
time hauler store sync --files rancher-airgap-harvester.yaml | |
time hauler store save --filename harvester.tar.zst | |
hauler store info | |
ls -laR && rm -rf store harvester.tar.zst | |
- name: Test/Lint Gitea | |
run: | | |
cd hauler/gitea | |
time hauler store sync --files rancher-airgap-gitea.yaml | |
time hauler store save --filename gitea.tar.zst | |
hauler store info | |
ls -laR && rm -rf store gitea.tar.zst | |
- name: Test/Lint KubeVip | |
run: | | |
cd hauler/kubevip | |
time hauler store sync --files rancher-airgap-kubevip.yaml | |
time hauler store save --filename kubevip.tar.zst | |
hauler store info | |
ls -laR && rm -rf store kubevip.tar.zst | |
- name: Test/Lint Vault | |
run: | | |
cd hauler/vault | |
time hauler store sync --files rancher-airgap-vault.yaml | |
time hauler store save --filename vault.tar.zst | |
hauler store info | |
ls -laR && rm -rf store vault.tar.zst | |
rancher-airgap-release: | |
name: Rancher Airgap - Release Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build, rancher-airgap-testing] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -laR | |
- name: Create Release Notes | |
run: | | |
echo -e "# Rancher Airgap Release ${GITHUB_REF##*/}\nWe are excited about this latest release of Rancher Airgap! Please review all of the releases notes below and always ensure to download the correct assets. Please utilize GitHub Issues, Forks, and Pull Requests to submit any issues, updates, or fixes! Thank you.\n\nThese Release Notes were generated automatically by [github-actions](https://github.com/apps/github-actions).\n\n## Upgrade Steps\n* No upgrade steps for this release.\n\n## Breaking Changes\n* No breaking changes for this release.\n\n## Features and Improvements\n* No features or improvements for this release.\n\n## Bug Fixes and Additional Notes\n* No bug fixes or additional notes for this release.\n\n## Release Assets for the Rancher Airgap\n\n### Hauler (by Rancher Government Solutions)\n* **Hauler Manifest ->** [rancher-airgap-hauler.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/hauler/rancher-airgap-hauler.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/hauler/rancher-airgap-hauler.yaml\`\n\n### Rancher Kubernetes Engine 2 (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rke2.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rke2/rancher-airgap-rke2.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rke2/rancher-airgap-rke2.yaml\`\n\n### Rancher Multi-Cluster-Manager (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rancher.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher.yaml\`\n* **(Minimal) Hauler Manifest ->** [rancher-airgap-rancher-minimal.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml\`\n\n### Rancher Longhorn (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-longhorn.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/longhorn/rancher-airgap-longhorn.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/longhorn/rancher-airgap-longhorn.yaml\`\n\n### Rancher NeuVector (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-neuvector.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/neuvector/rancher-airgap-neuvector.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/neuvector/rancher-airgap-neuvector.yaml\`\n\n### Rancher Harvester (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-harvester.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/harvester/rancher-airgap-harvester.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/harvester/rancher-airgap-harvester.yaml\`\n\n### Helm (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-helm.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/helm/rancher-airgap-helm.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/helm/rancher-airgap-helm.yaml\`\n\n### Cosign (by Sigstore)\n* **Hauler Manifest ->** [rancher-airgap-cosign.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/cosign/rancher-airgap-cosign.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/cosign/rancher-airgap-cosign.yaml\`\n\n### Gitea (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-gitea.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/gitea/rancher-airgap-gitea.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/gitea/rancher-airgap-gitea.yaml\`\n\n### KubeVip (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-kubevip.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/kubevip/rancher-airgap-kubevip.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/kubevip/rancher-airgap-kubevip.yaml\`" > RELEASE-NOTES.MD | |
echo "Previewing Release Notes" | |
cat RELEASE-NOTES.MD | |
- name: Release with Release Notes | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: false | |
body_path: RELEASE-NOTES.MD | |
rancher-airgap-private: | |
name: Rancher Airgap - Private Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -lh | |
- name: Set Up Variables | |
run: | | |
RancherAirgapVersion=$(curl -sI https://github.com/zackbradys/rancher-airgap/releases/latest | grep -i location | sed -e 's#.*tag/v##' -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g') | |
- name: Fetch Public Key | |
run: | | |
curl -sfOL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-key.pub | |
- name: Authenticate to Private Registry | |
run: | | |
hauler login "${Registry}" --username ${RegistryUsername} --password ${RegistryPassword}`` | |
- name: Set Up AWS CLI and Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
- name: Build Hauler | |
run: | | |
cd hauler/hauler | |
time hauler store sync --files rancher-airgap-hauler.yaml | |
time hauler store save --filename hauler-carbide.tar.zst | |
- name: Build Helm | |
run: | | |
cd hauler/helm | |
time hauler store sync --files rancher-airgap-helm.yaml | |
time hauler store save --filename helm-carbide.tar.zst | |
- name: Build Cosign | |
run: | | |
cd hauler/cosign | |
time hauler store sync --files rancher-airgap-cosign.yaml | |
time hauler store save --filename cosign-carbide.tar.zst | |
- name: Build RKE2 | |
run: | | |
cd hauler/rke2 | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-rke2.yaml | |
time hauler store save --filename rke2-carbide.tar.zst | |
- name: Build Rancher | |
run: | | |
cd hauler/rancher | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-rancher.yaml | |
time hauler store save --filename rancher-carbide.tar.zst | |
- name: Build Rancher Minimal | |
run: | | |
cd hauler/rancher | |
rm -rf store | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-rancher-minimal.yaml | |
time hauler store save --filename rancher-minimal-carbide.tar.zst | |
- name: Build Longhorn | |
run: | | |
cd hauler/longhorn | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-longhorn.yaml | |
time hauler store save --filename longhorn-carbide.tar.zst | |
- name: Build NeuVector | |
run: | | |
cd hauler/neuvector | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-neuvector.yaml | |
time hauler store save --filename neuvector-carbide.tar.zst | |
- name: Build Harvester | |
run: | | |
cd hauler/harvester | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-harvester.yaml | |
time hauler store save --filename harvester-carbide.tar.zst | |
- name: Build Gitea | |
run: | | |
cd hauler/gitea | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-gitea.yaml | |
time hauler store save --filename gitea-carbide.tar.zst | |
- name: Build Kubevip | |
run: | | |
cd hauler/kubevip | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-kubevip.yaml | |
time hauler store save --filename kubevip-carbide.tar.zst | |
- name: Build Vault | |
run: | | |
cd hauler/vault | |
time hauler store sync --platform linux/amd64 --registry "${Registry}" --key ../../carbide-key.pub --files rancher-airgap-kubevip.yaml | |
time hauler store save --filename vault-carbide.tar.zst | |
- name: Fetch Hauler Binaries | |
run: | | |
mkdir hauler/binaries | |
cd hauler/binaries | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_checksums.txt | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_all.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_amd64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_arm64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_linux_amd64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_linux_arm64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_windows_amd64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_windows_arm64.tar.gz | |
- name: Package Hauler Binaries | |
run: | | |
for file in *.tar.gz; do | |
folder_name="${file%.tar.gz}" | |
mkdir -p "$folder_name" | |
tar -xzf "$file" -C "$folder_name" | |
rm -f "$file" | |
done | |
zip -r hauler-binaries.zip ./*_checksums.txt */ | |
- name: Prepare AWS S3 and Repository | |
run: | | |
cd ${{ github.workspace }} | |
aws s3 ls s3://carbide/ | |
ls -lh | |
- name: Upload Hauler | |
run: | | |
aws s3 cp hauler/hauler/hauler-cabide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Helm | |
run: | | |
aws s3 cp hauler/helm/helm-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Cosign | |
run: | | |
aws s3 cp hauler/cosign/hauler s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Rancher | |
run: | | |
aws s3 cp hauler/rancher/hauler s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Rancher Minimal | |
run: | | |
aws s3 cp hauler/rancher/rancher-minimal-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Longhorn | |
run: | | |
aws s3 cp hauler/longhorn/longhorn-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload NeuVector | |
run: | | |
aws s3 cp hauler/neuvector/neuvector-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Harvester | |
run: | | |
aws s3 cp hauler/harvester/harvester-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Gitea | |
run: | | |
aws s3 cp hauler/gitea/gitea-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload KubeVip | |
run: | | |
aws s3 cp hauler/kubevip/kubevip-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Vault | |
run: | | |
aws s3 cp haulter/vault/vault-carbide.tar.zst s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} | |
- name: Upload Hauler Binaries | |
run: | | |
aws s3 cp hauler/binaries/hauler-binaries.zip s3://carbide/${{ github.ref }}/ | |
aws s3 ls s3://carbide/${{ github.ref }} |