Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 21 additions & 60 deletions .github/workflows/ci-ecr.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,38 @@
name: ci-nullplatform
env:
NULLPLATFORM_API_KEY: ${{ secrets.NULLPLATFORM_API_KEY }}
on:
push:
branches:
- master
- main
- master
- fix/runner-authorization
permissions:
id-token: write
contents: read
packages: read
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Start Nullplatform CI
id: setup-ci
uses: nullplatform/github-action-setup-ci@v1
with:
api-key: ${{ secrets.NULLPLATFORM_API_KEY }}
outputs:
application-id: ${{ steps.setup-ci.outputs.application-id }}
application-name: ${{ steps.setup-ci.outputs.application-name }}
build-id: ${{ steps.setup-ci.outputs.build-id }}
build:
runs-on: ubuntu-latest
needs: prepare
strategy:
matrix:
platform:
- asset-arch: linux/amd64
runner-arch: linux-x64
asset-name: runner-linux-amd64
- asset-arch: linux/arm64
runner-arch: linux-arm64
asset-name: runner-linux-arm64
steps:
- name: Install nullplatform cli
run: curl https://cli.nullplatform.com/install.sh | sh
- name: Checkout code
uses: actions/checkout@v4
- name: Start nullplatform CI
run: np build start
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Get build parameters
id: get-build-parameters
uses: nullplatform/github-action-secrets-and-variables@v1
with:
api-key: ${{ secrets.NULLPLATFORM_API_KEY }}
application-id: ${{ needs.prepare.outputs.application-id }}
- name: Build asset for ${{ needs.prepare.outputs.application-name }}
id: build-asset
uses: nullplatform/github-action-asset-build@v1
env:
VERSION: ${{ vars.VERSION }}
ARCH: ${{ matrix.platform.runner-arch }}
PLATFORM: ${{ matrix.platform.asset-arch }}
with:
name: ${{ matrix.platform.asset-name }}
- name: Push asset for ${{ needs.prepare.outputs.application-name }}
id: push-asset
uses: nullplatform/github-action-asset-push@v1
with:
build-id: ${{ needs.prepare.outputs.build-id }}
type: docker-image
name: ${{ matrix.platform.asset-name }}
outputs:
build-id: ${{ needs.prepare.outputs.build-id }}
status: ${{ contains(fromJSON('["failure", "cancelled"]'), job.status) && 'failed' || 'successful' }}
finalize:
runs-on: ubuntu-latest
if: ${{ always() && needs.prepare.outputs.build-id }}
needs: [prepare, build]
steps:
- name: End Nullplatform CI
id: end-setup-ci
uses: nullplatform/github-action-setup-ci@v1
with:
api-key: ${{ secrets.NULLPLATFORM_API_KEY }}
build-id: ${{ needs.prepare.outputs.build-id }}
status: ${{ needs.build.outputs.status || 'failed' }}
- name: Build AMD asset
run: docker buildx build --platform linux/amd64 --build-arg linux-x64 -t amd --load .
- name: Build ARM asset
run: docker buildx build --platform linux/arm64 --build-arg linux-arm64 -t arm --load .
- name: Push AMD asset
run: np asset push --type docker-image --source amd --name runner-linux-amd64
- name: Push ARM asset
run: np asset push --type docker-image --source arm --name runner-linux-arm64
- name: End nullplatform CI
if: ${{ always() }}
run: np build update --status ${{ contains(fromJSON('["failure", "cancelled"]'), job.status) && 'failed' || 'successful' }}
5 changes: 5 additions & 0 deletions start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

ID=$(($(date +%s)*1000))

echo "Starting Runner"

echo "Config Runner with URL: ${URL}"


cd /home/docker/actions-runner
./config.sh --url ${URL} --token ${TOKEN} --name ${NAME:-self-hosted}-${ID} --work working-dir --labels ${LABELS:-nullplatform} --unattended --replace

Expand Down