Skip to content

chore(deps): update docker/build-push-action action to v6.8.0 #283

chore(deps): update docker/build-push-action action to v6.8.0

chore(deps): update docker/build-push-action action to v6.8.0 #283

Workflow file for this run

---
name: Build
on:
# push:
# branches:
# - main
pull_request:
branches:
- main
types:
- closed
- opened
- reopened
- synchronize
- auto_merge_enabled
schedule:
- cron: '00 02 1 * *'
workflow_dispatch: {}
jobs:
builds:
name: WSL2 build
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write
packages: write
env:
COMMIT_SHORT_SHA: null
steps:
- name: Checkout from repository
uses: actions/checkout@v4.2.0
- name: Set short git commit SHA
run: |+
set -eux
calculatedSha=$(git rev-parse --short ${{ github.sha }})
echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
- uses: docker/metadata-action@v5
id: meta
with:
images: ghcr.io/naa0yama/devtool-wsl2
flavor: |
latest=false
tags: |
type=ref,event=tag,prefix=,enable=true
# minimal (short sha)
type=sha,enable=true,prefix=,format=short
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6.8.0
with:
context: .
file: Dockerfile
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=tar,dest=dwsl2-${{ env.COMMIT_SHORT_SHA }}.tar
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Cleanup pre-releases
uses: actions/github-script@v7.0.1
if: ${{ github.event.pull_request.merged == true }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |+
const __prereleases = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100,
});
const prereleases = __prereleases.data
for (const index in prereleases) {
if (prereleases[index].prerelease == true) {
console.log('delte pre-release ' + prereleases[index]['id'] + '\t' + prereleases[index]['name'])
await github.rest.repos.deleteRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: prereleases[index]['id'],
});
}
}
console.log('end run')
- name: Split archive file.
if: ${{ github.event.pull_request.merged == true }}
run: |+
set -eux
mkdir -p dist
gzip "dwsl2-${{ env.COMMIT_SHORT_SHA }}.tar"
split --verbose --bytes=2000M --suffix-length=1 --numeric-suffixes=1 \
dwsl2-${{ env.COMMIT_SHORT_SHA }}.tar.gz \
dist/dwsl2-${{ env.COMMIT_SHORT_SHA }}.tar.gz.part
- name: Calculate the sha256sum
if: ${{ github.event.pull_request.merged == true }}
working-directory: dist
run: |+
set -eux
sha256sum dwsl2-${{ env.COMMIT_SHORT_SHA }}.tar.gz.part* > sha256sum.txt
ls -lah .
- name: Determine if PR is from a bot
id: check_bot
run: |
if [[ "${{ github.actor }}" == *[bot]* ]]; then
echo "IS_BOT=true" >> $GITHUB_ENV
else
echo "IS_BOT=false" >> $GITHUB_ENV
fi
- name: Determine release type
id: release_type
run: |
if [[ "${{ github.event_name }}" == "schedule" ]]; then
echo "DRAFT=false" >> $GITHUB_ENV
echo "MAKE_LATEST=true" >> $GITHUB_ENV
elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.action }}" != "closed" && "${{ env.IS_BOT }}" == "false" ]]; then
echo "DRAFT=true" >> $GITHUB_ENV
echo "MAKE_LATEST=false" >> $GITHUB_ENV
elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.action }}" == "closed" && "${{ github.event.pull_request.merged }}" == "true" ]]; then
echo "DRAFT=false" >> $GITHUB_ENV
echo "MAKE_LATEST=true" >> $GITHUB_ENV
else
echo "DRAFT=false" >> $GITHUB_ENV
echo "MAKE_LATEST=false" >> $GITHUB_ENV
fi
- name: Pre-Release
uses: softprops/action-gh-release@v2
if: ${{ github.event.pull_request.merged == true }}
with:
name: devtool-WSL2 image ${{ env.COMMIT_SHORT_SHA }}
tag_name: ${{ env.COMMIT_SHORT_SHA }}
generate_release_notes: true
draft: ${{ env.DRAFT }}
prerelease: false
make_latest: ${{ env.MAKE_LATEST }}
files: |
./dist/*