forked from libressl/portable
-
Notifications
You must be signed in to change notification settings - Fork 2
107 lines (93 loc) · 2.87 KB
/
Copy pathrelease.yml
File metadata and controls
107 lines (93 loc) · 2.87 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
# GitHub Actions workflow to create releases from tags.
name: "Release"
on:
push:
tags: [ "v*" ]
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: false
permissions: {}
jobs:
release:
name: "Release"
runs-on: "ubuntu-24.04"
permissions:
contents: write # Required to create release.
steps:
- name: "Checkout repository"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: "Generate version changelog"
run: .github/scripts/changelog.sh "$VERSION" > release-changelog.txt
env:
VERSION: "${{ github.ref_name }}"
- name: "Create draft GitHub release"
env:
GH_TOKEN: "${{ github.token }}"
VERSION: "${{ github.ref_name }}"
run: |
gh release create "$VERSION" \
--repo "$GITHUB_REPOSITORY" \
--title "$VERSION" \
--notes-file release-changelog.txt \
--draft
build-windows:
name: "${{ matrix.os }}/${{ matrix.arch }}"
runs-on: "${{ matrix.os }}"
needs: ["release"]
permissions:
contents: write # Required to upload release assets.
strategy:
matrix:
os: [ "windows-2022" ]
arch: [ "Win32", "x64", "ARM64" ]
steps:
- name: "Checkout repository"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: "Setup MSYS2"
uses: msys2/setup-msys2@66cd2cce69caa17b53920067426061ca1de3a884 # v2.32.0
with:
update: true
install: >-
autoconf
automake
diffutils
libtool
gcc
git
patch
perl
- name: "Run autogen"
shell: msys2 {0}
run: ./autogen.sh
- name: "Configure"
shell: pwsh
env:
ARCH: "${{ matrix.arch }}"
run: cmake -Bbuild -G "Visual Studio 17 2022" -A "${env:ARCH}" -DCMAKE_INSTALL_PREFIX=local
- name: "Build"
shell: pwsh
run: cmake --build build --config Release
- name: "Install"
shell: pwsh
run: cmake --install build --config Release
- name: "Package release artifact"
shell: pwsh
env:
VERSION: "${{ github.ref_name }}"
ARCH: "${{ matrix.arch }}"
run: Compress-Archive -Path local\* "libressl_${env:VERSION}_windows_${env:ARCH}.zip"
- name: "Upload release artifact"
shell: bash
env:
GH_TOKEN: "${{ github.token }}"
VERSION: "${{ github.ref_name }}"
ARCH: "${{ matrix.arch }}"
run: |
gh release upload "$VERSION" \
--repo "$GITHUB_REPOSITORY" \
"libressl_${VERSION}_windows_${ARCH}.zip"