-
-
Notifications
You must be signed in to change notification settings - Fork 6
135 lines (132 loc) · 5.52 KB
/
release-nightly.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
name: release-nightly
on:
push:
branches: [ main, release/dcs/v* ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# nightly-binary:
# runs-on: nscloud
# steps:
# - uses: actions/checkout@v4
# # fetch all commits instead of only the last as some branches are long lived and could have many between versions
# # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
# - run: git fetch --unshallow --quiet --tags --force
# - uses: actions/setup-go@v4
# with:
# go-version: "~1.21"
# check-latest: true
# - uses: actions/setup-node@v4
# with:
# node-version: 20
# cache: npm
# cache-dependency-path: package-lock.json
# - run: make deps-frontend deps-backend
# # xgo build
# - run: make release
# env:
# TAGS: bindata sqlite sqlite_unlock_notify
# - name: import gpg key
# id: import_gpg
# uses: crazy-max/ghaction-import-gpg@v5
# with:
# gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
# passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
# - name: sign binaries
# run: |
# for f in dist/release/*; do
# echo '${{ secrets.GPGSIGN_PASSPHRASE }}' | gpg --pinentry-mode loopback --passphrase-fd 0 --batch --yes --detach-sign -u ${{ steps.import_gpg.outputs.fingerprint }} --output "$f.asc" "$f"
# done
# # clean branch name to get the folder name in S3
# - name: Get cleaned branch name
# id: clean_name
# run: |
# REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//')
# echo "Cleaned name is ${REF_NAME}"
# echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT"
# - name: configure aws
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: ${{ secrets.AWS_REGION }}
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# - name: upload binaries to s3
# run: |
# aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress
nightly-docker-rootful:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
- run: git fetch --unshallow --quiet --tags --force
- uses: actions/setup-go@v4
with:
go-version: "~1.21"
check-latest: true
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Get cleaned branch name
id: clean_name
run: |
# if main then say nightly otherwise cleanup name
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
echo "branch=nightly" >> "$GITHUB_OUTPUT"
exit 0
fi
REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/dcs\/v//' -e 's/-dcs$//')
echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT"
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: fetch go modules
run: make vendor
- name: build rootful docker image
uses: docker/build-push-action@v4
with:
context: .
# platforms: linux/amd64,linux/arm64
platforms: linux/amd64
push: true
tags: unfoldingword/dcs:${{ steps.clean_name.outputs.branch }}
# nightly-docker-rootless:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# # fetch all commits instead of only the last as some branches are long lived and could have many between versions
# # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
# - run: git fetch --unshallow --quiet --tags --force
# - uses: actions/setup-go@v4
# with:
# go-version: "~1.21"
# check-latest: true
# - uses: docker/setup-qemu-action@v2
# - uses: docker/setup-buildx-action@v2
# - name: Get cleaned branch name
# id: clean_name
# run: |
# # if main then say nightly otherwise cleanup name
# if [ "${{ github.ref }}" = "refs/heads/main" ]; then
# echo "branch=nightly" >> "$GITHUB_OUTPUT"
# exit 0
# fi
# REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//')
# echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT"
# - name: Login to Docker Hub
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: fetch go modules
# run: make vendor
# - name: build rootless docker image
# uses: docker/build-push-action@v4
# with:
# context: .
# platforms: linux/amd64,linux/arm64
# push: true
# file: Dockerfile.rootless
# tags: gitea/gitea:${{ steps.clean_name.outputs.branch }}-rootless