From 7075a05bcde9b1b6c89da91de7b495e02554d58d Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 19 Dec 2024 06:27:19 -0600 Subject: [PATCH] Fix docker secret permission --- .github/workflows/build_docker.yml | 68 ++++++++++++++++++++++++++++++ .github/workflows/build_native.yml | 34 --------------- .github/workflows/main_matrix.yml | 4 ++ 3 files changed, 72 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/build_docker.yml diff --git a/.github/workflows/build_docker.yml b/.github/workflows/build_docker.yml new file mode 100644 index 0000000000..a08f5afdf2 --- /dev/null +++ b/.github/workflows/build_docker.yml @@ -0,0 +1,68 @@ +name: Build Docker + +on: workflow_call + +permissions: + contents: write + packages: write + +jobs: + build-native: + runs-on: ubuntu-latest + steps: + - name: Install libs needed for native build + shell: bash + run: | + sudo apt-get update --fix-missing + sudo apt-get install -y libbluetooth-dev libgpiod-dev libyaml-cpp-dev openssl libssl-dev libulfius-dev liborcania-dev libusb-1.0-0-dev + + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + + - name: Upgrade python tools + shell: bash + run: | + python -m pip install --upgrade pip + pip install -U platformio adafruit-nrfutil + pip install -U meshtastic --pre + + - name: Upgrade platformio + shell: bash + run: | + pio upgrade + + - name: Build Native + run: bin/build-native.sh + + - name: Docker login + if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} + uses: docker/login-action@v3 + with: + username: meshtastic + password: ${{ secrets.DOCKER_FIRMWARE_TOKEN }} + + - name: Docker setup + if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} + uses: docker/setup-buildx-action@v3 + + - name: Docker build and push tagged versions + if: ${{ github.event_name == 'workflow_dispatch' }} + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + push: true + tags: meshtastic/meshtasticd:${{ steps.version.outputs.version }} + + - name: Docker build and push + if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + push: true + tags: meshtastic/meshtasticd:latest diff --git a/.github/workflows/build_native.yml b/.github/workflows/build_native.yml index b1b0127054..a57da5dfbf 100644 --- a/.github/workflows/build_native.yml +++ b/.github/workflows/build_native.yml @@ -50,37 +50,3 @@ jobs: path: | release/meshtasticd_linux_x86_64 bin/config-dist.yaml - - - name: Docker login - if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} - uses: docker/login-action@v3 - continue-on-error: true # FIXME: Failing docker login auth - with: - logout: true - username: meshtastic - password: ${{ secrets.DOCKER_FIRMWARE_TOKEN }} - - - name: Docker setup - if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} - continue-on-error: true - uses: docker/setup-buildx-action@v3 - - - name: Docker build and push tagged versions - if: ${{ github.event_name == 'workflow_dispatch' }} - continue-on-error: true - uses: docker/build-push-action@v6 - with: - context: . - file: ./Dockerfile - push: true - tags: meshtastic/device-simulator:${{ steps.version.outputs.version }} - - - name: Docker build and push - if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} - continue-on-error: true - uses: docker/build-push-action@v6 - with: - context: . - file: ./Dockerfile - push: true - tags: meshtastic/device-simulator:latest diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 86fb6e6991..86b9dad183 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -137,6 +137,10 @@ jobs: package-native: uses: ./.github/workflows/package_amd64.yml + build-docker: + uses: ./.github/workflows/build_docker.yml + secrets: inherit + after-checks: runs-on: ubuntu-latest if: ${{ github.event_name != 'workflow_dispatch' }}