-
Notifications
You must be signed in to change notification settings - Fork 33
55 lines (48 loc) · 1.77 KB
/
release-lambda.yml
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
name: Attach Asset to Release
on:
push:
tags:
- 'v*'
jobs:
build-and-upload:
runs-on: ubuntu-latest
strategy:
matrix:
architecture: [amd64, arm64]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build Docker Image and Create Lambda Layer
run: |
docker buildx build --platform linux/${{ matrix.architecture }} \
-t lambda-layer-builder:${{ matrix.architecture }} \
--output type=docker \
-f Dockerfile .
docker create --name layer_builder lambda-layer-builder:${{ matrix.architecture }}
docker cp layer_builder:/tmp/layer.zip layer-${{ matrix.architecture }}.zip
unzip -l layer-${{ matrix.architecture }}.zip | grep -i cffi
- name: Get Release
id: get_release
uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const release = await github.rest.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: context.ref.replace('refs/tags/', '')
});
core.setOutput('upload_url', release.data.upload_url);
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./layer-${{ matrix.architecture }}.zip
asset_name: layer-${{ github.ref_name }}-${{ matrix.architecture }}.zip
asset_content_type: application/zip