Skip to content

feat: add the business logic to download the Podman binary for the host OS and architecture #70

feat: add the business logic to download the Podman binary for the host OS and architecture

feat: add the business logic to download the Podman binary for the host OS and architecture #70

Workflow file for this run

name: Sidekick
on:
push:
branches:
- main
pull_request:
merge_group: {}
concurrency:
group: sidekick-${{ github.head_ref }}
cancel-in-progress: true
env:
MIX_ENV: test
MISE_EXPERIMENTAL: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
dry_release:
name: Dry release
runs-on: "macos-latest"
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- name: Restore Cache
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
_site
key: mix-${{ hashFiles('mix.lock') }}
- run: mise run lint
- env:
SIDEKICK_VERSION: 0.1.0
run: mise run release:macos
- env:
SIDEKICK_VERSION: 0.1.0
run: mise run release:linux
- name: Sign macOS binary
env:
MACOS_SIGNING_CERTIFICATE_BASE64: ${{ secrets.MACOS_SIGNING_CERTIFICATE_BASE64 }}
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
run: |
TMP_DIR=$(mktemp -d)
KEYCHAIN_PASSWORD=$(uuidgen)
KEYCHAIN_PATH=$TMP_DIR/keychain.keychain
CERTIFICATE_PATH=$TMP_DIR/certificate.p12
CERTIFICATE_NAME="Developer ID Application: Tuist GmbH (U6LC622NKF)"
echo "$MACOS_SIGNING_CERTIFICATE_BASE64" | base64 --decode > $CERTIFICATE_PATH
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security default-keychain -s $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security import $CERTIFICATE_PATH -P $CERTIFICATE_PASSWORD -A
/usr/bin/codesign --sign "$CERTIFICATE_NAME" --timestamp --options runtime --verbose burrito_out/sidekick_macos
lint:
name: Lint
runs-on: "ubuntu-latest"
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- name: Restore Cache
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
_site
key: mix-${{ hashFiles('mix.lock') }}
- run: mise run lint
test:
name: Test on ${{ matrix.version }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- name: Restore Cache
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
_site
key: mix-${{ hashFiles('mix.lock') }}
- run: mix test