(feat): Shift dependencies between package.model and package.datastru… #246
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: Build 🔨 and Release 🚀 | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- architecture: amd64 | |
artifact: ebs-bootstrap-linux-x86_64 | |
- architecture: arm64 | |
artifact: ebs-bootstrap-linux-aarch64 | |
name: Build and Test (${{ matrix.architecture }}) 🔨 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: ${{ matrix.architecture }} | |
- name: Build and Test 🔨 | |
run: ./build/docker.sh --architecture ${{ matrix.architecture }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: ${{ matrix.artifact }} | |
if-no-files-found: error | |
retention-days: 1 | |
integration-tests: | |
runs-on: ubuntu-latest | |
name: Integration Tests 🧪 | |
needs: | |
- test | |
steps: | |
- name: Checkout code 🛒 | |
uses: actions/checkout@v4 | |
- name: Setup bats 🦇 | |
uses: bats-core/bats-action@2.0.0 | |
with: | |
bats-version: 1.11.0 | |
- name: Download artifacts 📥 | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: ebs-bootstrap-* | |
merge-multiple: true | |
- name: Make executable | |
shell: bash | |
run: | | |
set -euo pipefail | |
mv ebs-bootstrap-linux-x86_64 ebs-bootstrap | |
chmod +x ebs-bootstrap | |
- name: Setup tests ⚙️ | |
run: bats bats/setup.bats | |
- name: Test ext4 🧪 | |
run: bats bats/ext4.bats | |
- name: Test xfs 🧫 | |
run: bats bats/xfs.bats | |
release: | |
if: ${{ github.ref_name == github.event.repository.default_branch }} # Only release from the default branch | |
runs-on: ubuntu-latest | |
name: Release 🚀 | |
needs: | |
- integration-tests | |
permissions: | |
contents: write | |
id-token: write | |
steps: | |
- name: Checkout code 🛒 | |
uses: actions/checkout@v4 | |
- name: Download artifacts 📥 | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: ebs-bootstrap-* | |
merge-multiple: true | |
- id: version | |
name: Get next version 🧮 | |
uses: reecetech/version-increment@2024.4.4 | |
with: | |
scheme: semver | |
increment: patch | |
- id: github-release | |
name: Create Github Release 📦 | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ steps.version.outputs.v-version }} | |
prerelease: false | |
draft: false | |
token: ${{ secrets.GITHUB_TOKEN }} | |
generate_release_notes: true | |
files: | | |
*/ebs-bootstrap-linux-* | |
- id: push-short-tag | |
name: Create release short tag 🏷 | |
uses: richardsimko/update-tag@v1.0.11 | |
with: | |
tag_name: ${{ steps.version.outputs.major-v-version }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |