1- name: DEV - N.V - Coordinate core Build and Push
1+ name: DEV - Build and Push to GHCR
22
33on:
4+ push:
5+ branches:
6+ - dev
7+ - AN-205-ghcr-build-update
48 pull_request:
59 types:
610 - closed
1014permissions:
1115 contents: write
1216 pull-requests: write
17+ packages: write
1318
1419env:
15- AWS_REGION: us-east-1
16- DOCKER_REGISTRY: 992382389965.dkr.ecr.us-east-1.amazonaws.com
20+ IMAGE_NAME: ${{ github.repository_owner }}/coordinatecore
1721 ENV_TYPE: dev
18- SERVICE_NAME: "mara-sidechain-beta-coordinate-core"
1922
2023jobs:
2124 build-and-push:
2225 name: Build and Push Docker Image
23- if: ${{ github.event.pull_request.merged == true }}
26+ if: ${{ github.event_name == 'push' || github. event.pull_request.merged == true }}
2427 runs-on: governance-testenv-github-self-hosted
2528
2629 steps:
2730 - name: Checkout Code
2831 uses: actions/checkout@v4
29- with:
30- ref: dev
3132
3233 - name: Create new tag (semantic versioning)
3334 id: tag
3435 uses: mathieudutour/github-tag-action@v6.1
3536 with:
3637 github_token: ${{ secrets.GITHUB_TOKEN }}
37- release_branches: dev
38+ release_branches: dev,main
3839 default_bump: patch # can be major/minor/patch
3940
4041 - name: Install Dependencies
4142 run: |
42- sudo apt-get install -y \
43+ sudo apt-get update && sudo apt-get install -y \
4344 build-essential \
45+ cmake \
4446 libtool \
4547 autotools-dev \
4648 automake \
@@ -56,34 +58,36 @@ jobs:
5658 systemtap-sdt-dev \
5759 curl
5860
59- - name: autogen
60- run: pwd && ./autogen.sh
61-
62- - name: configure
63- run: ./configure --without-ui
61+ - name: Configure with CMake
62+ run: cmake -B build -DWITH_ZMQ=ON
6463
65- - name: make
66- run: make
64+ - name: Build with CMake
65+ run: cmake --build build
6766
68- - name: Set Up AWS Credentials
69- uses: aws-actions/configure-aws-credentials@v4
67+ - name: Verify build artifacts
68+ run: ls -la build/bin/
69+
70+ - name: Log in to GitHub Container Registry
71+ uses: docker/login-action@v3
7072 with:
71- aws-access-key-id: ${{ secrets.MT_AWS_ACCESS_KEY_ID }}
72- aws-secret-access-key: ${{ secrets.MT_AWS_SECRET_ACCESS_KEY }}
73- aws-session-token: ${{ secrets.MT_AWS_SESSION_TOKEN }} # Only if using temporary credentials
74- aws-region: ${{ env.AWS_REGION }}
73+ registry: ghcr.io
74+ username: ${{ github.actor }}
75+ password: ${{ secrets.GITHUB_TOKEN }}
7576
77+ - name: Extract metadata (tags, labels) for Docker
78+ id: meta
79+ uses: docker/metadata-action@v5
80+ with:
81+ images: ghcr.io/${{ env.IMAGE_NAME }}
82+ tags: |
83+ type=raw,value=${{ steps.tag.outputs.new_tag }}
84+ type=raw,value=latest
85+ type=ref,event=branch
7686
77- - name: Log In to Amazon ECR
78- run: |
79- aws ecr get-login-password --region ${{ env.AWS_REGION }} | \
80- sudo docker login --username AWS --password-stdin ${{ env.DOCKER_REGISTRY }}
81- - name: Build Docker Image
82- run: |
83- sudo docker build -t ${{ env.DOCKER_REGISTRY }}/${{ env.SERVICE_NAME }}:${{ steps.tag.outputs.new_tag }} \
84- -t ${{ env.DOCKER_REGISTRY }}/${{ env.SERVICE_NAME }}:latest .
85- # sudo docker tag ${{ env.SERVICE_NAME }}:latest ${{ env.DOCKER_REGISTRY }}/${{ env.SERVICE_NAME }}:${{ steps.tag.outputs.new_tag }}
86- - name: Push Docker Image to ECR
87- run: |
88- sudo docker push ${{ env.DOCKER_REGISTRY }}/${{ env.SERVICE_NAME }}:${{ steps.tag.outputs.new_tag }}
89- sudo docker push ${{ env.DOCKER_REGISTRY }}/${{ env.SERVICE_NAME }}:latest
87+ - name: Build and Push Docker Image
88+ uses: docker/build-push-action@v5
89+ with:
90+ context: .
91+ push: true
92+ tags: ${{ steps.meta.outputs.tags }}
93+ labels: ${{ steps.meta.outputs.labels }}
0 commit comments