-
Notifications
You must be signed in to change notification settings - Fork 3
149 lines (147 loc) · 3.86 KB
/
docker-build.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: docker-build-and-publish
on:
push:
branches:
- 'master'
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Get commit Hash
id: commit
uses: pr-mpt/actions-commit-hash@v1
-
name: Checkout
uses: actions/checkout@v2
-
name: Use Node.js v8.6
uses: actions/setup-node@v3
with:
node-version: '8.6'
cache: 'npm'
-
name: Install dependencies
run: npm install
-
name: Use zip
uses: montudor/action-zip@v1
-
name: Zip node_modules
run: zip -qq -r modules.zip node_modules
-
name: Temporally save dependencies
uses: actions/upload-artifact@v3
with:
name: dependencies
path: modules.zip
release:
runs-on: ubuntu-latest
needs: [build]
name: Create Release
steps:
-
name: Get commit Hash
id: commit
uses: pr-mpt/actions-commit-hash@v1
-
name: Checkout
uses: actions/checkout@v2
-
name: Load dependencies
uses: actions/download-artifact@v3
with:
name: dependencies
path: .
-
uses: montudor/action-zip@v1
name: Unzip node_modules
with:
args: unzip -qq modules.zip -d .
-
name: Remove Zipped modules
uses: JesseTG/[email protected]
with:
path: node_modules.zip
-
name: Overwrite file
uses: "DamianReeves/write-file-action@master"
with:
path: .env
write-mode: overwrite
contents: |
VERSION=${{ steps.commit.outputs.short }}
-
name: Zip Release
run: zip -qq -r ajaneditor-${{ steps.commit.outputs.short }}.zip .
-
name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.commit.outputs.short }}
release_name: Release ${{ steps.commit.outputs.short }}
body: |
Current version of the AJAN-editor
draft: false
prerelease: false
-
name: upload release zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./ajaneditor-${{ steps.commit.outputs.short }}.zip
asset_name: ajaneditor-${{ steps.commit.outputs.short }}.zip
asset_content_type: application/zip
docker:
name: Create Dockerimage
runs-on: ubuntu-latest
steps:
-
name: Get commit Hash
id: commit
uses: pr-mpt/actions-commit-hash@v1
-
uses: actions/checkout@v2
-
name: Overwrite file
uses: "DamianReeves/write-file-action@master"
with:
path: .env
write-mode: overwrite
contents: |
VERSION=${{ steps.commit.outputs.short }}
-
name: Setup docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: aantakli/ajan-editor
tags: |
type=raw,latest
type=sha
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
secrets: |
GIT_AUTH_TOKEN=${{ secrets.GIT_TOKEN }}