Skip to content

Commit

Permalink
Fix lack of secrets in dependabot PRs (#46)
Browse files Browse the repository at this point in the history
This PR is fixing the lack of secrets in dependabot PRs, which makes dependabot PRs fail.
See https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#accessing-secrets for more info.

This PR also breaks up the pipeline in 3 parallel stages, so it runs faster.
  • Loading branch information
f18m authored May 7, 2024
1 parent e51ca95 commit 6d20711
Showing 1 changed file with 32 additions and 3 deletions.
35 changes: 32 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on: [push]

jobs:

build:
test_dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -18,19 +18,47 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
lint_code:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Lint code with flake8
run: |
pip install flake8
flake8
echo "Running flake8 on repo"
flake8 -v
# TODO: it would be nice to have the project published on Pypi for easy installation via pip:
#- name: Publish package
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# password: ${{ secrets.PYPI_API_TOKEN }}

build_docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Build Docker image (no push)
# see https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#accessing-secrets
# for the reason why DependaBot pull requests have no access to secrets like ${{ secrets.PAT_TOKEN_FOR_GITHUB }}
if: ${{ github.actor == 'dependabot[bot]' }}
uses: mr-smithers-excellent/docker-build-push@v6
with:
# options related to BUILDing the docker image:
dockerfile: ./Dockerfile
multiPlatform: true
platform: linux/amd64,linux/arm64,linux/arm/v7
image: psmqtt
# options related to PUSHing the docker image:
pushImage: false

- name: Build and push Docker image
if: ${{ github.actor != 'dependabot[bot]' }}
uses: mr-smithers-excellent/docker-build-push@v6
with:
# options related to BUILDing the docker image:
Expand All @@ -40,5 +68,6 @@ jobs:
image: psmqtt
# options related to PUSHing the docker image:
registry: ghcr.io
username: eschava
username: ${{ github.actor }}
password: ${{ secrets.PAT_TOKEN_FOR_GITHUB }}
pushImage: true

0 comments on commit 6d20711

Please sign in to comment.