@@ -2,14 +2,19 @@ name: Build
22
33on :
44 push :
5- paths-ignore :
6- - ' **.md'
5+ branches : [ '**' ]
6+ paths-ignore : [ '**.md' ]
7+ workflow_call :
8+ secrets :
9+ DOCKERHUB_USERNAME :
10+ DOCKERHUB_TOKEN :
711
812jobs :
9- gradle :
13+ build :
1014 runs-on : ubuntu-latest
11- outputs :
12- rundocker : ${{ steps.rundocker.outputs.rundocker }}
15+ env :
16+ DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
17+ DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
1318 steps :
1419 - name : Checkout
1520 uses : actions/checkout@v3
3338 name : Lavalink.jar
3439 path : LavalinkServer/build/libs/Lavalink.jar
3540
36- - name : Check Docker Build
37- id : rundocker
38- env :
39- DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
40- DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
41- run : |
42- echo "Run docker build: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}"
43- echo "::set-output name=rundocker::${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}"
44-
45- docker :
46- needs : gradle
47- runs-on : ubuntu-latest
48- if : needs.gradle.outputs.rundocker == 'true'
49- steps :
50- - name : Checkout
51- uses : actions/checkout@v2
52-
53- - name : Download Artifacts
54- uses : actions/download-artifact@v2
55- with :
56- name : Lavalink.jar
57-
5841 - name : Docker Meta
42+ if : env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN
5943 id : meta
6044 uses : docker/metadata-action@v4
6145 with :
@@ -68,43 +52,27 @@ jobs:
6852 type=sha,prefix=
6953
7054 - name : Set up QEMU
55+ if : env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN
7156 uses : docker/setup-qemu-action@v2
7257
7358 - name : Set up Docker Buildx
59+ if : env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN
7460 uses : docker/setup-buildx-action@v2
7561
7662 - name : Login to DockerHub
63+ if : env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN
7764 uses : docker/login-action@v2
7865 with :
79- username : ${{ secrets .DOCKERHUB_USERNAME }}
80- password : ${{ secrets .DOCKERHUB_TOKEN }}
66+ username : ${{ env .DOCKERHUB_USERNAME }}
67+ password : ${{ env .DOCKERHUB_TOKEN }}
8168
82- - name : Build and push
69+ - name : Build and Push
70+ if : env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN
8371 uses : docker/build-push-action@v3
8472 with :
8573 file : LavalinkServer/docker/Dockerfile
8674 context : .
87- platforms : linux/amd64
75+ platforms : linux/amd64,linux/arm/v7,linux/arm64/v8
8876 push : true
8977 tags : ${{ steps.meta.outputs.tags }}
9078 labels : ${{ steps.meta.outputs.labels }}
91-
92- release :
93- needs : gradle
94- permissions :
95- contents : write
96- runs-on : ubuntu-latest
97- if : startsWith(github.ref, 'refs/tags/')
98- steps :
99- - name : Checkout
100- uses : actions/checkout@v2
101-
102- - name : Download Artifacts
103- uses : actions/download-artifact@v2
104- with :
105- name : Lavalink.jar
106-
107- - name : Upload Artifacts to GitHub Release
108- uses : softprops/action-gh-release@v1
109- with :
110- files : Lavalink.jar
0 commit comments