Skip to content

Merge pull request #944 from karrioapi/patch-2026.1.3 #169

Merge pull request #944 from karrioapi/patch-2026.1.3

Merge pull request #944 from karrioapi/patch-2026.1.3 #169

name: insiders-build
on:
push:
branches: ["main"]
workflow_dispatch:
jobs:
changes:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.changes.outputs.version }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
version:
- 'apps/api/karrio/server/VERSION'
insiders-wheels:
needs: changes
if: ${{ needs.changes.outputs.version == 'true' || github.event_name == 'workflow_dispatch' }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
actions: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.GH_PAT }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine setuptools wheel
- id: get_tag
run: |
cat ./apps/api/karrio/server/VERSION
echo "tag=$(cat ./apps/api/karrio/server/VERSION)" >> "$GITHUB_ENV"
- name: Create or get GitHub release
env:
GH_TOKEN: ${{ secrets.GH_PAT }}
run: |
echo 'Checking for existing GitHub release v${{ env.tag }} in karrio-insiders repository...'
if gh release view "v${{ env.tag }}" --repo karrioapi/karrio-insiders >/dev/null 2>&1; then
echo 'Release v${{ env.tag }} already exists in karrio-insiders, using existing release'
else
echo 'Creating new GitHub release v${{ env.tag }} in karrio-insiders repository...'
gh release create "v${{ env.tag }}" \
--repo karrioapi/karrio-insiders \
--title "Karrio Insiders v${{ env.tag }}" \
--notes "Karrio Insiders wheels release v${{ env.tag }}" \
--draft
fi
- name: Build and publish insiders wheels
env:
GH_TOKEN: ${{ secrets.GH_PAT }}
run: |
echo 'Building and publishing insiders wheels for version ${{ env.tag }}...'
./bin/publish-insiders-wheels ${{ env.tag }}
insiders-server-build:
needs: changes
if: ${{ needs.changes.outputs.version == 'true' || github.event_name == 'workflow_dispatch' }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.GH_PAT }}
- id: get_tag
run: |
cat ./apps/api/karrio/server/VERSION
echo "tag=$(cat ./apps/api/karrio/server/VERSION)" >> "$GITHUB_ENV"
- name: Build insider server image
run: |
echo 'Build and push karrio-insiders server:${{ env.tag }}...'
echo ${{ secrets.GH_PAT }} | docker login ghcr.io -u USERNAME --password-stdin
./bin/build-insiders-image ${{ env.tag }} &&
docker push ghcr.io/karrioapi/server:${{ env.tag }} || exit 1
insiders-dashboard-build:
needs: changes
if: ${{ needs.changes.outputs.version == 'true' || github.event_name == 'workflow_dispatch' }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.GH_PAT }}
- id: get_tag
run: |
cat ./apps/api/karrio/server/VERSION
echo "tag=$(cat ./apps/api/karrio/server/VERSION)" >> "$GITHUB_ENV"
- name: Build insider dashboard image
run: |
echo 'Build and push karrio-insiders dashboard:${{ env.tag }}...'
echo ${{ secrets.GH_PAT }} | docker login ghcr.io -u USERNAME --password-stdin
KARRIO_IMAGE=ghcr.io/karrioapi/dashboard SOURCE=https://github.com/karrioapi/karrio-insiders ./bin/build-dashboard-image ${{ env.tag }} &&
docker push ghcr.io/karrioapi/dashboard:${{ env.tag }} || exit 1