Skip to content

Merge pull request #77 from rhettre/feature/release-workflow #29

Merge pull request #77 from rhettre/feature/release-workflow

Merge pull request #77 from rhettre/feature/release-workflow #29

Workflow file for this run

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