diff --git a/.github/workflows/ci-ecr.yml b/.github/workflows/ci-ecr.yml index 25c8db7..f34bce3 100644 --- a/.github/workflows/ci-ecr.yml +++ b/.github/workflows/ci-ecr.yml @@ -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' }} \ No newline at end of file diff --git a/start.sh b/start.sh index 07081f3..9d7eb65 100755 --- a/start.sh +++ b/start.sh @@ -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