Skip to content

Build and Upload Wolfi Packages #39

Build and Upload Wolfi Packages

Build and Upload Wolfi Packages #39

Workflow file for this run

name: Build and Upload Wolfi Packages
on:
schedule:
- cron: '50 5,17 * * *' # 5:50 AM and 5:50 PM UTC every day
pull_request:
merge_group:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
upload-wolfi-packages:
name: Build and upload Wolfi packages
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
id-token: write
strategy:
fail-fast: false
steps:
# Checkout push-to-registry action GitHub repository
- name: Checkout Push to Registry action
uses: actions/checkout@v4
- name: Generate package list
run: |
cd wolfi
# Copy package resources to workdir
RESOURCES=$(ls -d */)
for resource in $RESOURCES; do
cp -r $resource/* .
done
# Create package list
APK_LIST=$(find *.yaml -type 'f' | tr '\n' ',')
echo "APK_LIST=$APK_LIST" >> $GITHUB_ENV
# Build APKs with melange
- name: Build APKs
id: melange
uses: chainguard-dev/actions/melange-build@main
with:
archs: aarch64,x86_64
empty-workspace: false
multi-config: ${{ env.APK_LIST }}
sign-with-temporary-key: true
workdir: ./wolfi
# Upload packages
- name: 'Upload built packages archive to Github Artifacts'
uses: actions/upload-artifact@v4
with:
name: wolfi-packages
path: ./packages
retention-days: 1 # Low ttl since this is just an intermediary used once
if-no-files-found: error