-
Notifications
You must be signed in to change notification settings - Fork 0
83 lines (77 loc) · 3.05 KB
/
ci.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
name: CI
env:
IMAGE_TAG: vocabs-main:2.16
on:
push:
branches: [prod, stage, develop]
jobs:
# deactivated the build-test job from Skosmos, as it should be run against in the dedicated repo (the one where the submodule Skosmos points to)
build_and_push_to_registry:
runs-on: ubuntu-latest
permissions:
packages: write
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Copy config.ttl
run: |
if [[ "${{ github.ref_name }}" == "prod" || "${{ github.ref }}" == "refs/heads/prod" ]]; then
cp ./config_production.ttl ./skosmos/dockerfiles/config/config-docker.ttl
fi
if [[ "${{ github.ref_name }}" == "stage" || "${{ github.ref }} " == "refs/heads/stage" ]]; then
cp ./config_staging.ttl ./skosmos/dockerfiles/config/config-docker.ttl
fi
if [[ "${{ github.ref_name }}" == "develop" || "${{ github.ref }} " == "refs/heads/develop" ]]; then
cp ./config_development.ttl ./skosmos/dockerfiles/config/config-docker.ttl
fi
- name: generate build instructions using herokuish
run: |
cp -r ./skosmos/dockerfiles/Dockerfile.ubuntu ./skosmos/Dockerfile
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v3
with:
context: ./skosmos/
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/acdh-oeaw/${{ env.IMAGE_TAG }}${{ github.ref_name }}
rancher_production:
needs: build_and_push_to_registry
name: Deploy to rancher production
runs-on: ubuntu-latest
if: github.base_ref == 'prod' || github.ref == 'refs/heads/prod'
steps:
- name: Rancher Deploy Action
run: |
curl -i -X POST "${{ secrets.RANCHER_URL_PRODUCTION }}?action=redeploy" -H "Authorization: Bearer ${{ secrets.RANCHER_BEARER_TOKEN }}"
rancher_staging:
needs: build_and_push_to_registry
name: Deploy to rancher staging
runs-on: ubuntu-latest
if: github.base_ref == 'stage' || github.ref == 'refs/heads/stage'
steps:
- name: Rancher Deploy Action
run: |
curl -i -X POST "${{ secrets.RANCHER_URL_STAGE }}?action=redeploy" -H "Authorization: Bearer ${{ secrets.RANCHER_BEARER_TOKEN }}"
rancher_development:
needs: build_and_push_to_registry
name: Deploy to rancher development
runs-on: ubuntu-latest
if: github.base_ref == 'develop' || github.ref == 'refs/heads/develop'
steps:
- name: Rancher Deploy Action
run: |
curl -i -X POST "${{ secrets.RANCHER_URL_DEVELOPMENT }}?action=redeploy" -H "Authorization: Bearer ${{ secrets.RANCHER_BEARER_TOKEN }}"