Skip to content

Commit fef21a3

Browse files
committed
Update builds
1 parent 8cecc4d commit fef21a3

File tree

3 files changed

+199
-6
lines changed

3 files changed

+199
-6
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
name: Prepare release
2+
3+
on:
4+
push:
5+
branches:
6+
- prepare-release
7+
8+
jobs:
9+
matrix:
10+
name: Find layers
11+
runs-on: ubuntu-latest
12+
if: ${{ github.actor != 'bref-bot' }}
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
# Only find layers that have changed since last tag
19+
- id: find-layers
20+
run: |
21+
git fetch --prune --unshallow
22+
echo "::set-output name=list::$(git diff --name-only HEAD $(git describe --tags --abbrev=0) | grep layers/ | cut -d / -f 2 | sort | uniq | jq -R -s -c 'split("\n")[:-1]')"
23+
24+
outputs:
25+
# Make the outputs accessible outside this job
26+
list: ${{ steps.find-layers.outputs.list }}
27+
28+
build:
29+
needs: matrix
30+
name: Build & publish layer
31+
runs-on: ubuntu-latest
32+
if: ${{ github.actor != 'bref-bot' }}
33+
env:
34+
DOCKER_BUILDKIT: '1'
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
layer: ${{ fromJson(needs.matrix.outputs.list) }}
39+
40+
steps:
41+
- name: Set up PHP
42+
uses: shivammathur/setup-php@v2
43+
with:
44+
php-version: 8.2
45+
coverage: none
46+
47+
- name: Checkout code
48+
uses: actions/checkout@v4
49+
with:
50+
fetch-depth: 0
51+
52+
- name: Download dependencies
53+
run: composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable
54+
55+
- name: Clean export directory
56+
run: make clean
57+
58+
- name: Build layers
59+
run: layer=${{ matrix.layer }} make layers
60+
61+
- name: Publish layers
62+
env:
63+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
64+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }}
65+
run: php ./bref-extra publish
66+
67+
list:
68+
needs: build
69+
name: Update layer versions
70+
runs-on: ubuntu-latest
71+
if: ${{ github.actor != 'bref-bot' }}
72+
73+
steps:
74+
- name: Checkout code
75+
uses: actions/checkout@v4
76+
with:
77+
fetch-depth: 0
78+
79+
- name: Download dependencies
80+
run: composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable
81+
82+
- name: List layers
83+
env:
84+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
85+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }}
86+
run: php ./bref-extra list
87+
88+
- name: Commit changes
89+
run: |
90+
git config --local user.email "github-bot@bref.sh"
91+
git config --local user.name "Bref Bot"
92+
93+
git add layers.json
94+
git commit -m "Updated layers.json"
95+
96+
- name: Push changes
97+
uses: ad-m/github-push-action@master
98+
with:
99+
github_token: ${{ secrets.BOT_GITHUB_TOKEN }}
100+
branch: prepare-release
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: Rebuild all layers and release
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
matrix:
8+
name: Find layers
9+
runs-on: ubuntu-latest
10+
if: ${{ github.actor != 'bref-bot' }}
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- id: find-layers
17+
run: |
18+
git fetch --prune --unshallow
19+
# Build all layers
20+
echo "::set-output name=list::$(ls layers | jq -R -s -c 'split("\n")[:-1]')"
21+
22+
outputs:
23+
# Make the outputs accessible outside this job
24+
list: ${{ steps.find-layers.outputs.list }}
25+
26+
build:
27+
needs: matrix
28+
name: Build & publish layer
29+
runs-on: ubuntu-latest
30+
if: ${{ github.actor != 'bref-bot' }}
31+
env:
32+
DOCKER_BUILDKIT: '1'
33+
strategy:
34+
fail-fast: false
35+
matrix:
36+
layer: ${{ fromJson(needs.matrix.outputs.list) }}
37+
38+
steps:
39+
- name: Set up PHP
40+
uses: shivammathur/setup-php@v2
41+
with:
42+
php-version: 8.2
43+
coverage: none
44+
45+
- name: Checkout code
46+
uses: actions/checkout@v4
47+
with:
48+
fetch-depth: 0
49+
50+
- name: Download dependencies
51+
run: composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable
52+
53+
- name: Clean export directory
54+
run: make clean
55+
56+
- name: Build layers
57+
run: layer=${{ matrix.layer }} make layers
58+
59+
- name: Publish layers
60+
env:
61+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
62+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }}
63+
run: php ./bref-extra publish
64+
65+
list:
66+
needs: build
67+
name: Update layer versions
68+
runs-on: ubuntu-latest
69+
if: ${{ github.actor != 'bref-bot' }}
70+
71+
steps:
72+
- name: Checkout code
73+
uses: actions/checkout@v4
74+
with:
75+
fetch-depth: 0
76+
77+
- name: Download dependencies
78+
run: composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable
79+
80+
- name: List layers
81+
env:
82+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
83+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }}
84+
run: php ./bref-extra list
85+
86+
- name: Commit changes
87+
run: |
88+
git config --local user.email "github-bot@bref.sh"
89+
git config --local user.name "Bref Bot"
90+
91+
git add layers.json
92+
git commit -m "Updated layers.json"
93+
94+
- name: Push changes
95+
uses: ad-m/github-push-action@master
96+
with:
97+
github_token: ${{ secrets.BOT_GITHUB_TOKEN }}
98+
branch: master

.github/workflows/release.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
name: Release
22

33
on:
4-
push:
5-
branches:
6-
- prepare-release
74
workflow_dispatch:
85

96
jobs:
@@ -21,8 +18,6 @@ jobs:
2118
run: |
2219
git fetch --prune --unshallow
2320
echo "::set-output name=list::$(git diff --name-only HEAD $(git describe --tags --abbrev=0) | grep layers/ | cut -d / -f 2 | sort | uniq | jq -R -s -c 'split("\n")[:-1]')"
24-
# If the workflow was triggered manually, then build all layers
25-
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then echo "::set-output name=list::$(ls layers | jq -R -s -c 'split("\n")[:-1]')"; fi
2621
2722
outputs:
2823
# Make the outputs accessible outside this job
@@ -100,5 +95,5 @@ jobs:
10095
uses: ad-m/github-push-action@master
10196
with:
10297
github_token: ${{ secrets.BOT_GITHUB_TOKEN }}
103-
branch: prepare-release
98+
branch: master
10499

0 commit comments

Comments
 (0)