Skip to content

Commit 2406245

Browse files
authored
Merge pull request #888 from OpenConext/feature/create-release-in-ci-cd-pipeline
Test release creation in CI/CD pipeline
2 parents c8bb5ce + 12cb63d commit 2406245

File tree

3 files changed

+71
-8
lines changed

3 files changed

+71
-8
lines changed

.github/workflows/tag-release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: tag-release
2+
on:
3+
push:
4+
tags:
5+
- "*.*.*"
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
timeout-minutes: 30
10+
env:
11+
DOCKER_COMPOSE: docker-compose -f docker-compose-tag-release.yml
12+
if: always()
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@master
16+
- name: Output the semver tag to the tag variable
17+
id: vars
18+
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
19+
- name: Pull OpenConext build container
20+
run: cd docker && ${DOCKER_COMPOSE} up -d
21+
- name: Make the release files
22+
run: cd docker && ${DOCKER_COMPOSE} exec -T openconext bash -c 'HOME=/home/runner/work/OpenConext-engineblock ./bin/makeRelease.sh ${{ steps.vars.outputs.tag }}'
23+
- name: Create Draft Release
24+
id: create_release
25+
uses: actions/create-release@v1
26+
env:
27+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28+
with:
29+
tag_name: ${{ steps.vars.outputs.tag }}
30+
release_name: ${{ steps.vars.outputs.tag }}
31+
body: Auto generated release. Please update these release notes manually.
32+
draft: true
33+
prerelease: false
34+
- uses: actions/upload-release-asset@v1.0.1
35+
name: Upload the release artefact tarbal
36+
env:
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
with:
39+
upload_url: ${{ steps.create_release.outputs.upload_url }}
40+
asset_path: ./Releases/OpenConext-engineblock-${{ steps.vars.outputs.tag }}.tar.gz
41+
asset_name: OpenConext-engineblock-${{ steps.vars.outputs.tag }}.tar.gz
42+
asset_content_type: application/gzip
43+
- uses: actions/upload-release-asset@v1.0.1
44+
name: Upload the release artefact verification hash
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
with:
48+
upload_url: ${{ steps.create_release.outputs.upload_url }}
49+
asset_path: ./Releases/OpenConext-engineblock-${{ steps.vars.outputs.tag }}.sha
50+
asset_name: OpenConext-engineblock-${{ steps.vars.outputs.tag }}.sha
51+
asset_content_type: text/plain
52+
- uses: eregon/publish-release@v1
53+
name: Publish the new release
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
with:
57+
release_id: ${{ steps.create_release.outputs.id }}

bin/makeRelease.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ PROJECT_DIR_NAME=${PROJECT_NAME}-${TAG//\//_} &&
3636
PROJECT_DIR=${RELEASE_DIR}/${PROJECT_DIR_NAME} &&
3737

3838
# Check requirements
39-
command -v php72 >/dev/null 2>&1 || { echo >&2 "Missing PHP 7.2. Aborting"; exit 1; }
39+
command -v php >/dev/null 2>&1 || { echo >&2 "Missing PHP 7.2. Aborting"; exit 1; }
4040
command -v composer >/dev/null 2>&1 || { echo >&2 "Missing Composer. Aborting."; exit 1; }
4141
command -v npm >/dev/null 2>&1 || { echo >&2 "Misisng NPM. Aborting."; exit 1; }
4242
command -v git >/dev/null 2>&1 || { echo >&2 "Misisng Git. Aborting."; exit 1; }
@@ -64,7 +64,7 @@ fi
6464

6565
# Install composer dependencies
6666
echo "Running Composer Install" &&
67-
php72 $(which composer) install -n --no-dev --prefer-dist -o
67+
php $(which composer) install -n --no-dev --prefer-dist -o
6868

6969
if [ $? -eq 0 ]; then
7070
echo "Composer install ran"
@@ -73,7 +73,6 @@ else
7373
exit 1
7474
fi
7575

76-
7776
# Build NPM frontend assets
7877
# --unsafe-perm because we do branch install as root.
7978
# can be removed when we stop doing that
@@ -89,7 +88,6 @@ else
8988
exit 1
9089
fi
9190

92-
9391
# Tag release and remove unwanted files
9492
echo "Tagging the release in RELEASE file" &&
9593
COMMITHASH=`git rev-parse HEAD` &&
@@ -99,7 +97,6 @@ echo "Commit: ${COMMITHASH}" >> ${PROJECT_DIR}/RELEASE &&
9997
echo "Updating asset_version in config" &&
10098
sed -i s,#ASSET_VERSION#,${TAG},g ${PROJECT_DIR}/app/config/config.yml &&
10199

102-
103100
echo "Cleaning build of dev files" &&
104101
rm -rf ${PROJECT_DIR}/.idea &&
105102
rm -rf ${PROJECT_DIR}/.git &&
@@ -124,7 +121,6 @@ else
124121
exit 1
125122
fi
126123

127-
128124
# Create tarball
129125
echo "Create tarball" &&
130126
cd ${RELEASE_DIR} &&
@@ -137,7 +133,6 @@ else
137133
exit 1
138134
fi
139135

140-
141136
# Create checksum
142137
echo "Create checksum file" &&
143138
cd ${RELEASE_DIR} &&
@@ -154,7 +149,6 @@ else
154149
exit 1
155150
fi
156151

157-
158152
# Sign with GPG key
159153
if [ -n "$2" ]
160154
then
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
3+
version: "3.8"
4+
5+
services:
6+
openconext:
7+
image: ghcr.io/openconext/openconext-containers/openconext-php-build-eb:latest
8+
volumes:
9+
- ../:/home/runner/work/OpenConext-engineblock
10+
working_dir: /home/runner/work/OpenConext-engineblock
11+
environment:
12+
- PHPFPM_PORT=9000

0 commit comments

Comments
 (0)