Skip to content

Commit

Permalink
gpu-dawn: CI: upload headers.json + tarball
Browse files Browse the repository at this point in the history
Fixes #171
Helps #109

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
  • Loading branch information
emidoots committed Feb 28, 2022
1 parent 262422e commit 028b7d8
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 24 deletions.
24 changes: 8 additions & 16 deletions gpu-dawn/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ jobs:
- name: install (debug)
run: zig build install -Ddawn-from-source=true -Dtarget=x86_64-linux
- name: upload (debug)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-linux-gnu_debug.a
gzip -9 zig-out/lib/libdawn_x86_64-linux-gnu_debug.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_x86_64-linux-gnu_debug.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: x86_64-linux-gnu_debug
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
x86_64-linux_release-fast:
runs-on: ubuntu-latest
Expand All @@ -45,11 +43,9 @@ jobs:
- name: install (release-fast)
run: zig build install -Ddawn-from-source=true -Drelease-fast=true -Dtarget=x86_64-linux
- name: upload (release-fast)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-linux-gnu_release-fast.a
gzip -9 zig-out/lib/libdawn_x86_64-linux-gnu_release-fast.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_x86_64-linux-gnu_release-fast.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: x86_64-linux-gnu_release-fast
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# TODO(build-system): enable windows CI here once gpu-dawn builds under Windows
# x86_64-windows:
Expand Down Expand Up @@ -90,11 +86,9 @@ jobs:
env:
AGREE: true
- name: upload (debug)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-macos.12---12-gnu_debug.a
gzip -9 zig-out/lib/libdawn_x86_64-macos.12---12-gnu_debug.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_x86_64-macos.12---12-gnu_debug.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: x86_64-macos.12---12-gnu_debug
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
x86_64-macos_release-fast:
runs-on: macos-latest
Expand All @@ -115,9 +109,7 @@ jobs:
env:
AGREE: true
- name: upload (release-fast)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-macos.12---12-gnu_release-fast.a
gzip -9 zig-out/lib/libdawn_x86_64-macos.12---12-gnu_release-fast.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_x86_64-macos.12---12-gnu_release-fast.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: x86_64-macos.12---12-gnu_release-fast
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13 changes: 5 additions & 8 deletions gpu-dawn/.github/workflows/m1_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,17 @@ jobs:
env:
AGREE: true
- name: upload (debug)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_aarch64-macos.12---12-gnu_debug.a
gzip -9 zig-out/lib/libdawn_aarch64-macos.12---12-gnu_debug.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_aarch64-macos.12---12-gnu_debug.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: aarch64-macos.12---12-gnu_debug
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: install (release-fast)
run: zig build install -Ddawn-from-source=true -Drelease-fast=true -Dtarget=aarch64-macos.12
env:
AGREE: true
- name: upload (release-fast)
run: |
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_aarch64-macos.12---12-gnu_release-fast.a
gzip -9 zig-out/lib/libdawn_aarch64-macos.12---12-gnu_release-fast.a
gh release upload "release-$(git rev-parse --short HEAD)" zig-out/lib/libdawn_aarch64-macos.12---12-gnu_release-fast.a.gz
run: ./dev/upload-release.sh
env:
RELEASE_NAME: aarch64-macos.12---12-gnu_release-fast
UPLOAD_HEADERS: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24 changes: 24 additions & 0 deletions gpu-dawn/dev/bundle-release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -exuo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"/..

# Prepare the `out/` directory that we will bundle.
rm -rf out/
mkdir out/
cp -R libs/dawn/include out/
cp -R libs/dawn/out/Debug/gen/include/* out/include/
cp libs/dawn/LICENSE out/

# Bundle headers.json.gz
pushd out
python ../dev/dir_to_json.py > ../headers.json
popd
gzip -9 headers.json

# Copy the binary into the out/ directory
cp zig-out/lib/libdawn.a out/

# Create out.tar.gz bundle
pushd out
tar -czvf ../out.tar.gz .
popd
12 changes: 12 additions & 0 deletions gpu-dawn/dev/dir_to_json.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import os
import json

def dir_to_dict(d):
dict = {}
for dirpath,_,filenames in os.walk(d):
for f in filenames:
path = os.path.join(dirpath, f)
dict[path] = open(path, 'r').read()
return dict

print(json.dumps(dir_to_dict('.')))
20 changes: 20 additions & 0 deletions gpu-dawn/dev/upload-release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -exuo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"/..

# Prepare tarball, headers.json.gz, etc.
./dev/bundle-release.sh

if [[ "${UPLOAD_HEADERS:-"false"}" == "true" ]]; then
# Upload headers.json.gz
gh release upload "release-$(git rev-parse --short HEAD)" headers.json.gz
fi

# Upload static library individually.
cp zig-out/lib/libdawn.a "libdawn_$RELEASE_NAME.a"
gzip -9 "libdawn_$RELEASE_NAME.a"
gh release upload "release-$(git rev-parse --short HEAD)" "libdawn_$RELEASE_NAME.a"

# Upload tarball of static library + headers.
mv out.tar.gz "$RELEASE_NAME.tar.gz"
gh release upload "release-$(git rev-parse --short HEAD)" "$RELEASE_NAME.tar.gz"

0 comments on commit 028b7d8

Please sign in to comment.