-
Notifications
You must be signed in to change notification settings - Fork 2
94 lines (73 loc) · 5.35 KB
/
release.yml
File metadata and controls
94 lines (73 loc) · 5.35 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
name: Release
permissions:
contents: write
on:
push:
tags:
- "v*"
env:
WASI_SDK_VERSION: 25
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install WASI SDK
uses: konsumer/install-wasi-sdk@v1
with:
version: "${{ env.WASI_SDK_VERSION }}"
- uses: extractions/setup-just@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Build WebAssembly module
run: just
- name: Build docs
uses: mattnotmitt/doxygen-action@v1.9.5
- name: Set env
run: echo "ARCHIVE_FILENAME_PREFIX=fastly-cpp-${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Install SDK
run: cmake --install target --prefix target/release/dist
- name: Archive core dist
run: tar cvf ${{ env.ARCHIVE_FILENAME_PREFIX }}.tar -C target/release/dist lib include
- name: Archive quickstart dist
run: tar cvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar -C target/release/dist lib include
- name: Add docs and license to quickstart dist
run: tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar docs LICENSE
- name: Add quickstart files to quickstart dist
run: tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar -C quickstart CMakeLists.txt fastly.toml main.cpp README.md .fastlyignore .gitignore
- name: Copy quickstart dist tar to multiple platforms
run: |
cp ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
cp ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
cp ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
cp ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
cp ${{ env.ARCHIVE_FILENAME_PREFIX }}-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-windows-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
- name: Fetch wasi-sdk tarballs
run: |
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION}}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-linux.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION}}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-macos.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION}}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-linux.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION}}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-macos.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION}}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-windows.tar.gz
- name: Extract wasi-sdk tarballs
run: |
tar xvzf wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-linux.tar.gz
tar xvzf wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-macos.tar.gz
tar xvzf wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-linux.tar.gz
tar xvzf wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-macos.tar.gz
tar xvzf wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-windows.tar.gz
- name: Add wasi-sdks into fat quickstart tarballs
run: |
tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-linux
tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-arm64-macos
tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-linux
tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-linux
tar rvf ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-windows-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-x86_64-windows
- name: Gzip tarballs
run: gzip ${{ env.ARCHIVE_FILENAME_PREFIX }}.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-arm64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-linux-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-macos-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar ${{ env.ARCHIVE_FILENAME_PREFIX }}-x86_64-windows-wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-quickstart.tar
- uses: ncipollo/release-action@v1
with:
artifacts: "${{ env.ARCHIVE_FILENAME_PREFIX }}*.tar.gz"
artifactErrorsFailBuild: true
artifactContentType: "application/gzip"
generateReleaseNotes: true
draft: true
prerelease: true