Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: update pipelines and add develop branch deploy #1478

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions .github/workflows/dev-pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Develop Aepp Base pipelines

on:
push:
branches:
- develop

env:
ENV: "dev"
APP: "aepp-base"

concurrency: aescan_develop_environment
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it should be aescan?


jobs:
main:
runs-on: ubuntu-latest
environment: develop
name: Develop Pipeline Aepp Base
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
Comment on lines +21 to +22
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it doesn't seem necessary to fetch the whole base-app history


- name: Get commit sha on PR Sync
if: github.event_name == 'push'
id: git-sha
shell: bash
run: |
echo GIT_SHA=$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
# Only worked for us with this option on
with:
install: true

- name: Cache Docker layers
uses: actions/cache@v2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: actions/cache@v2
uses: actions/cache@v3

with:
path: /tmp/.buildx-cache
# Key is named differently to avoid collision
key: ${{ runner.os }}-${{ env.ENV }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ env.ENV }}-buildx

- name: Log in to dockerhub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASS }}

- name: Extract metadata for docker
if: github.event_name == 'push'
id: meta
uses: docker/metadata-action@v3
with:
images: aeternity/aescan
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure that it should be aescan

tags: |
type=raw,value=develop,enable=${{ endsWith(GitHub.ref, 'develop') }}

- name: Build and push docker image
if: github.event_name == 'push'
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new

- name: Move cache
if: github.event_name == 'push'
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

- uses: actions/checkout@v2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- uses: actions/checkout@v2
- uses: actions/checkout@v3

with:
repository: aeternity/gitops-apps.git
token: ${{ secrets.BOT_GITHUB_TOKEN }}
ref: dev
persist-credentials: false
fetch-depth: 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
fetch-depth: 0


- name: Latest Develop Branch Deploy on Push
if: github.event_name == 'push'
uses: aeternity/ae-github-actions/argocd-pr-sync@v4
with:
git-sha: ${{ steps.git-sha.outputs.GIT_SHA }}
url-prefix: develop
env: ${{ env.ENV }}
app: ${{ env.APP }}

- name: Push changes
uses: ad-m/github-push-action@master
with:
repository: aeternity/gitops-apps
github_token: ${{ secrets.BOT_GITHUB_TOKEN }}
branch: dev
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,14 @@ jobs:

- name: Set up Docker Buildx
id: buildx
# Use the action from the master, as we've seen some inconsistencies with @v1
# Issue: https://github.com/docker/build-push-action/issues/286
uses: docker/setup-buildx-action@master
# Only worked for us with this option on �‍♂️
with:
install: true

- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
# Key is named differently to avoid collision
key: ${{ runner.os }}-${{ env.ENV }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ env.ENV }}-buildx
Expand Down Expand Up @@ -78,9 +74,6 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
# Note the mode=max here
# More: https://github.com/moby/buildkit#--export-cache-options
# And: https://github.com/docker/buildx#--cache-tonametypetypekeyvalue
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new

- name: Move cache
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ jobs:
runs-on: ubuntu-latest
name: Staging Aepp Base Pipeline
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the difference compared to the default setting?


- name: Set up Docker Buildx
id: buildx
Expand Down Expand Up @@ -50,8 +51,6 @@ jobs:
with:
images: aeternity/aepp-base
tags: |
type=raw,value=latest,enable=${{ endsWith(GitHub.ref, 'master') }}
type=ref,event=tag
type=ref,event=pr

- name: Get commit sha on PR Sync
Expand Down Expand Up @@ -89,6 +88,12 @@ jobs:
persist-credentials: false
fetch-depth: 0

- name: Chekc the initial PR deployment status before make a PR Sync.
if: github.event_name == 'pull_request' && github.event.action == 'synchronize'
uses: aeternity/ae-github-actions/deploy-status@v7
with:
url: https://pr-${{ env.PR_NUMBER }}-${{ env.APP }}.${{ env.ENV }}.aepps.com

- name: Staging PR Sync
if: github.event_name == 'pull_request' && github.event.action == 'synchronize'
uses: aeternity/ae-github-actions/argocd-pr-sync@v4
Expand Down
Loading