-
Notifications
You must be signed in to change notification settings - Fork 3
126 lines (110 loc) · 4.77 KB
/
release.yml
File metadata and controls
126 lines (110 loc) · 4.77 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
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
name: build-header-validator
on:
push:
branches: develop
jobs:
create_release:
runs-on: ubuntu-latest
if: github.repository == 'NHSDigital/mesh_validate_auth_header'
outputs:
RELEASE_VERSION: ${{ steps.release_version.outputs.RELEASE_VERSION }}
RELEASE_URL: ${{ steps.upload_url.outputs.RELEASE_URL }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- run: echo RELEASE_VERSION="$(grep 'version:' pubspec.yaml | sed -En 's/^version:\s(.*)\+.*$/\1/p')+${{github.run_number}}" >> $GITHUB_ENV
- uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4
id: create_release
continue-on-error: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.RELEASE_VERSION }}
release_name: ${{ env.RELEASE_VERSION }}
- id: release_version
run: echo "RELEASE_VERSION=${{ env.RELEASE_VERSION }}" >> $GITHUB_OUTPUT
- id: upload_url
run: echo "RELEASE_URL=${{ steps.create_release.outputs.upload_url }}" >> $GITHUB_OUTPUT
linux-build:
runs-on: ubuntu-latest
if: github.repository == 'NHSDigital/mesh_validate_auth_header'
needs: create_release
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
- run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
- run: flutter config --enable-linux-desktop
- run: flutter build linux --release --build-number ${{github.run_number}}
- run: echo ZIP_NAME="mesh-validate-auth-linux-${{needs.create_release.outputs.RELEASE_VERSION}}.zip" >> $GITHUB_ENV
- run: |
cd build/linux/x64/release/bundle/
zip -r "${{ env.ZIP_NAME }}" .
- name: upload bundle
uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 # v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{needs.create_release.outputs.RELEASE_URL}}
asset_name: ${{ env.ZIP_NAME }}
asset_path: build/linux/x64/release/bundle/${{ env.ZIP_NAME }}
asset_content_type: application/zip
- uses: fregante/setup-git-user@024bc0b8e177d7e77203b48dab6fb45666854b35 # v2.0.2
- run: git checkout github-pages
- run: git merge develop
- run: rm -rf ./docs
- run: flutter build web --release --base-href /${{ github.event.repository.name }}/
- run: cp -R build/web ./docs
- run: git add ./docs
- run: git commit -m "publish-web"
- run: git push
sonar-scan:
runs-on: ubuntu-latest
if: github.repository == 'NHSDigital/mesh_validate_auth_header'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
- run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
- run: flutter test --coverage -r expanded
- name: SonarQube Scan
uses: SonarSource/sonarqube-scan-action@7006c4492b2e0ee0f816d36501671557c97f5995 # v8.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
windows-build:
runs-on: windows-latest
if: github.repository == 'NHSDigital/mesh_validate_auth_header'
needs: create_release
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
- run: flutter config --enable-windows-desktop
- run: flutter build windows --release --build-number ${{github.run_number}}
- run: echo ZIP_NAME="mesh-validate-auth-windows-${{needs.create_release.outputs.RELEASE_VERSION}}.zip" >> $GITHUB_ENV
shell: bash
- uses: thedoctor0/zip-release@b57d897cb5d60cb78b51a507f63fa184cfe35554 # 0.7.6
with:
directory: 'build/windows/runner/Release'
type: 'zip'
filename: ${{ env.ZIP_NAME }}
- name: upload bundle
uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 # v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{needs.create_release.outputs.RELEASE_URL}}
asset_name: ${{ env.ZIP_NAME }}
asset_path: build/windows/runner/Release/${{ env.ZIP_NAME }}
asset_content_type: application/zip