mirror of
https://github.com/argoproj/argo-cd
synced 2026-05-24 09:50:08 +00:00
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
name: Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
GOPATH: /home/runner/work/argo-cd/argo-cd
|
|
steps:
|
|
- uses: actions/setup-go@v1
|
|
with:
|
|
go-version: '1.16.2'
|
|
- uses: actions/checkout@master
|
|
with:
|
|
path: src/github.com/argoproj/argo-cd
|
|
|
|
# get image tag
|
|
- run: echo ::set-output name=tag::$(cat ./VERSION)-${GITHUB_SHA::8}
|
|
working-directory: ./src/github.com/argoproj/argo-cd
|
|
id: image
|
|
|
|
# build
|
|
- run: |
|
|
docker images -a --format "{{.ID}}" | xargs -I {} docker rmi {}
|
|
make image DEV_IMAGE=true DOCKER_PUSH=false IMAGE_NAMESPACE=ghcr.io/argoproj IMAGE_TAG=${{ steps.image.outputs.tag }}
|
|
working-directory: ./src/github.com/argoproj/argo-cd
|
|
|
|
# publish
|
|
- run: |
|
|
docker login ghcr.io --username $USERNAME --password $PASSWORD
|
|
docker push ghcr.io/argoproj/argocd:${{ steps.image.outputs.tag }}
|
|
|
|
docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_TOKEN}"
|
|
docker tag ghcr.io/argoproj/argocd:${{ steps.image.outputs.tag }} argoproj/argocd:latest
|
|
docker push argoproj/argocd:latest
|
|
env:
|
|
USERNAME: ${{ secrets.USERNAME }}
|
|
PASSWORD: ${{ secrets.TOKEN }}
|
|
DOCKER_USERNAME: ${{ secrets.RELEASE_DOCKERHUB_USERNAME }}
|
|
DOCKER_TOKEN: ${{ secrets.RELEASE_DOCKERHUB_TOKEN }}
|
|
|
|
# deploy
|
|
- run: git clone "https://$TOKEN@github.com/argoproj/argoproj-deployments"
|
|
env:
|
|
TOKEN: ${{ secrets.TOKEN }}
|
|
- run: |
|
|
docker run -v $(pwd):/src -w /src --rm -t lyft/kustomizer:v3.3.0 kustomize edit set image quay.io/argoproj/argocd=ghcr.io/argoproj/argocd:${{ steps.image.outputs.tag }}
|
|
git config --global user.email 'ci@argoproj.com'
|
|
git config --global user.name 'CI'
|
|
git diff --exit-code && echo 'Already deployed' || (git commit -am 'Upgrade argocd to ${{ steps.image.outputs.tag }}' && git push)
|
|
working-directory: argoproj-deployments/argocd
|
|
# TODO: clean up old images once github supports it: https://github.community/t5/How-to-use-Git-and-GitHub/Deleting-images-from-Github-Package-Registry/m-p/41202/thread-id/9811
|