-
Notifications
You must be signed in to change notification settings - Fork 3
39 lines (33 loc) · 1.22 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: Docker Publish
on:
release:
types:
- published
env:
USERNAME: akafeng
REPOSITORY: udp2raw
PACKAGE_REGISTRY: ghcr.io
jobs:
publish:
name: Publish Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Docker Login
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ${{ env.PACKAGE_REGISTRY }} -u ${{ env.USERNAME }} --password-stdin
- name: Docker Build
env:
STAGE_CACHE: ${{ env.PACKAGE_REGISTRY }}/${{ env.USERNAME }}/${{ env.REPOSITORY }}:stage
VERSION_TAG: ${{ env.PACKAGE_REGISTRY }}/${{ env.USERNAME }}/${{ env.REPOSITORY }}:${{ github.event.release.tag_name }}
LATEST_TAG: ${{ env.PACKAGE_REGISTRY }}/${{ env.USERNAME }}/${{ env.REPOSITORY }}:latest
run: |
docker pull ${{ env.STAGE_CACHE }} || true
docker build \
--cache-from=${{ env.STAGE_CACHE }} \
--tag=${{ env.VERSION_TAG }} \
--tag=${{ env.LATEST_TAG }} \
.
docker image rm ${{ env.STAGE_CACHE }} || true
- name: Docker Publish
run: docker push --all-tags ${{ env.PACKAGE_REGISTRY }}/${{ env.USERNAME }}/${{ env.REPOSITORY }}