diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d5725e6e15731..612f2f09384de 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,39 +1,38 @@ name: eve-kernel build + on: + workflow_dispatch: pull_request_review: - types: [submitted] - pull_request: - types: [opened, synchronize, closed] + types: [ submitted ] push: branches: - "eve-kernel-amd64-v6.1.38-generic" - workflow_dispatch: + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true + jobs: packages: runs-on: self-hosted + if: ${{ github.event.review.state == 'approved' || github.ref == 'refs/heads/eve-kernel-amd64-v6.1.38-generic' }} steps: - name: Get eve-kernel uses: actions/checkout@v3 with: ref: "eve-kernel-amd64-v6.1.38-generic" - - name: Always build eve-kernel-amd64 + + - name: Build eve-kernel-amd64 run: | make -f Makefile.eve BRANCH?=${GITHUB_REF##*/} kernel-gcc + - name: Log in to Docker Hub - if: ( github.event_name == 'pull_request' && github.event.pull_request.merged == true ) || github.event_name == 'push' # Only if PR is merged or it was direct push uses: docker/login-action@v3 with: username: ${{ secrets.RELEASE_DOCKERHUB_ACCOUNT }} password: ${{ secrets.RELEASE_DOCKERHUB_TOKEN }} - - name: Login to DockerHUB - if: ( github.event_name == 'pull_request' && github.event.pull_request.merged == true ) || github.event_name == 'push' # Only if PR is merged or it was direct push - run: | - echo "${{ secrets.RELEASE_DOCKERHUB_TOKEN }}" |\ - docker login -u "${{ secrets.RELEASE_DOCKERHUB_ACCOUNT }}" --password-stdin + - name: Push eve-kernel-amd64-v6.1.38-generic if PR approved or pushed - if: ( github.event_name == 'pull_request' && github.event.pull_request.merged == true ) || github.event_name == 'push' # Only if PR is merged or it was direct push + if: github.ref == 'refs/heads/eve-kernel-amd64-v6.1.38-generic' run: | - make -f Makefile.eve BRANCH?=${GITHUB_REF##*/} push-gcc + make -f Makefile.eve BRANCH?=${GITHUB_REF##*/} push-gcc diff --git a/Makefile.eve b/Makefile.eve index 652b9ff1af243..3405448452067 100644 --- a/Makefile.eve +++ b/Makefile.eve @@ -40,6 +40,6 @@ kernel-%: Dockerfile.% docker-tag-%: @echo "docker.io/lfedge/eve-kernel:$(BRANCH)-$(VERSION)$(DIRTY)-$*" -push-%: kernel-% +push-%: $(if $(DIRTY), $(error "Not pushing since the repo is dirty")) docker push lfedge/eve-kernel:$(BRANCH)-$(VERSION)-$*