1- name : Publish Docker images
1+ name : Build and Publish AWS S3 Proxy
22
33on :
44 push :
5- tags :
6- - " *"
5+ # workflow_dispatch:
76
87jobs :
9- docker-image-2-0 :
10- name : v2.0
11- if : github.event_name == 'push' && contains(github.ref, 'v2.0.')
12- runs-on : ubuntu-18.04
13- env :
14- IMAGE_NAME : docker.pkg.github.com/${{ github.repository }}/linux:2.0
8+ build_and_upload :
9+ runs-on : ubuntu-latest
1510 steps :
16- - uses : actions/checkout@v1
17- with :
18- fetch-depth : 1
19- - name : Build & Push
20- run : |
21- docker login docker.pkg.github.com -u owner -p ${{ secrets.GITHUB_TOKEN }}
22- docker build -t $IMAGE_NAME docker/linux/2.0/
23- docker push $IMAGE_NAME
24- timeout-minutes : 10
11+ - name : Extract branch name
12+ id : branch
13+ uses : actions/github-script@0.9.0
14+ with :
15+ github-token : ${{ secrets.GITHUB_TOKEN }}
16+ script : |
17+ return context.payload.ref.replace(/^refs\/heads\//, '');
18+ continue-on-error : true
19+ - uses : actions/checkout@v2
20+ - name : Docker login
21+ run : |
22+ docker run \
23+ -e "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}" \
24+ -e "AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}" \
25+ -e "AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}" \
26+ amazon/aws-cli ecr get-login-password |
27+ docker login \
28+ --username AWS \
29+ --password-stdin \
30+ "${AWS_ECR_S3_PROXY}"
31+ env :
32+ AWS_ACCESS_KEY_ID : " ${{ secrets.AWS_ACCESS_KEY_ID }}"
33+ AWS_SECRET_ACCESS_KEY : " ${{ secrets.AWS_SECRET_ACCESS_KEY }}"
34+ AWS_DEFAULT_REGION : " ${{ secrets.AWS_DEFAULT_REGION }}"
35+ AWS_ECR_S3_PROXY : " ${{ secrets.AWS_ECR_S3_PROXY }}"
36+ - name : Docker build
37+ working-directory : ./
38+ run : |
39+ set -x
40+ docker build -f docker/linux/2.0/Dockerfile -t aws-s3-proxy .
41+ - name : Docker push
42+ working-directory : ./
43+ run : |
44+ set -eufxo pipefail
45+ image="${AWS_ECR_S3_PROXY}/infrastructure/aws-s3-proxy"
46+ git_hash=$(git reflog --format='%h' -1)
47+ head_ref="${{ github.head_ref }}"
48+ branch_ref="${{ steps.branch.outputs.result }}"
49+ branch=""
50+ [ -z "${head_ref}" ] || branch=${head_ref}
51+ [ -z "${branch_ref}" ] || branch=${branch_ref}
52+ tag_image="${image}:${git_hash}"
53+ docker tag aws-s3-proxy "${tag_image}"
54+ docker push "${tag_image}"
55+ [ -z "${branch}" ] || {
56+ tag_image="${image}:${branch}-${git_hash}"
57+ docker tag aws-s3-proxy "${tag_image}"
58+ docker push "${tag_image}"
59+ }
60+ env :
61+ AWS_ECR_S3_PROXY : " ${{ secrets.AWS_ECR_S3_PROXY }}"
0 commit comments