forked from discourse/discourse_docker
-
Notifications
You must be signed in to change notification settings - Fork 0
81 lines (80 loc) · 2.94 KB
/
Copy pathbuild.yml
File metadata and controls
81 lines (80 loc) · 2.94 KB
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
on:
push:
branches:
- master
- main
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
base:
runs-on: [ubuntu-20.04]
steps:
- name: enable experimental docker features
run: |
sudo bash -c 'echo "{ \"cgroup-parent\": \"/actions_job\",\"experimental\":true}" > /etc/docker/daemon.json'
sudo service docker restart
docker version -f '{{.Server.Experimental}}'
- uses: actions/checkout@master
with:
fetch-depth: 1
- name: build base image
run: |
cd image && ruby auto_build.rb base
- name: build test_build image
run: |
cd image && ruby auto_build.rb discourse_test_build
- name: run specs
run: |
docker run --rm -e RUBY_ONLY=1 -e USE_TURBO=1 -e SKIP_PLUGINS=1 -e SKIP_LINT=1 discourse/discourse_test:build
- name: push to dockerhub
if: success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
env:
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
run: |
TAG=`date +%Y%m%d-%H%M`
docker tag discourse/base:build discourse/base:2.0.$TAG
docker tag discourse/base:build discourse/base:release
docker login --username discoursebuild --password $DOCKERHUB_PASSWORD
docker push discourse/base:release
docker push discourse/base:2.0.$TAG
test:
runs-on: [ubuntu-20.04]
needs: base
steps:
- name: enable experimental docker features
run: |
sudo bash -c 'echo "{ \"cgroup-parent\": \"/actions_job\",\"experimental\":true}" > /etc/docker/daemon.json'
sudo service docker restart
docker version -f '{{.Server.Experimental}}'
- uses: actions/checkout@master
with:
fetch-depth: 1
- name: build discourse_test image
run: |
cd image && ruby auto_build.rb discourse_test_public
- name: push to dockerhub
if: success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
env:
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
run: |
docker login --username discoursebuild --password $DOCKERHUB_PASSWORD
docker push discourse/discourse_test:release
dev:
runs-on: [ubuntu-20.04]
needs: base
steps:
- uses: actions/checkout@master
with:
fetch-depth: 1
- name: build discourse_dev image
run: |
cd image && ruby auto_build.rb discourse_dev
- name: push to dockerhub
if: success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
env:
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
run: |
docker tag discourse/discourse_dev:build discourse/discourse_dev:release
docker login --username discoursebuild --password $DOCKERHUB_PASSWORD
docker push discourse/discourse_dev:release