Build Bun Lambda Layer #155
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Bun Lambda Layer | |
on: | |
schedule: # twice a day | |
- cron: "0 0 * * *" | |
- cron: "0 12 * * *" | |
workflow_dispatch: | |
jobs: | |
check-and-build-bun-version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Get Latest Bun Release | |
id: bun_latest_version | |
uses: abatilo/release-info-action@v1.3.3 | |
with: | |
owner: oven-sh | |
repo: bun | |
- name: Check if bun version is up to date | |
id: check_bun_version | |
run: | | |
LAYER_VERSION=$(grep 'version:' version.yml | awk '{print $2}') | |
LATEST_BUN_VERSION=$(echo ${{ steps.bun_latest_version.outputs.latest_tag }} | sed 's/bun-v//') | |
echo "LATEST_BUN_VERSION=$LATEST_BUN_VERSION" >> $GITHUB_ENV | |
echo "LAYER_VERSION=$LAYER_VERSION" >> $GITHUB_ENV | |
if [ "$LAYER_VERSION" = "$LATEST_BUN_VERSION" ]; then | |
echo "Bun lambda layer version is up to date" | |
echo "skipBuild=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Update layer version | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
run: | | |
sed -i "s/version: $LAYER_VERSION/version: $LATEST_BUN_VERSION/" version.yml | |
- uses: EndBug/add-and-commit@v9 | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
with: | |
message: 'Autoupdate to version ${{ steps.bun_latest_version.outputs.latest_tag }}' | |
- name: Install bun | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
run: | | |
curl -fsSL https://bun.sh/install | bash -s -- bun-v$LATEST_BUN_VERSION | |
- name: Clone bun | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
run: git clone -b bun-v$LATEST_BUN_VERSION --depth 1 https://github.com/oven-sh/bun.git ./bun | |
- name: Build layer | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
run: | | |
export PATH=~/.bun/bin:$PATH | |
cd bun/packages/bun-lambda | |
bun install | |
bun run build-layer --output bun-lambda-layer-${LATEST_BUN_VERSION}.zip | |
- name: Create release | |
if: steps.check_bun_version.outputs.skipBuild != 'true' | |
run: gh release create "v$LATEST_BUN_VERSION" bun/packages/bun-lambda/bun-lambda-layer-${LATEST_BUN_VERSION}.zip --title "Release $LATEST_BUN_VERSION" --notes "Lambda layer using bun-v$LATEST_BUN_VERSION" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |