Skip to content

Merge pull request #11 from testainers/dev #11

Merge pull request #11 from testainers/dev

Merge pull request #11 from testainers/dev #11

Workflow file for this run

name: CI Build
on:
push:
branches: [ main ]
jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
steps:
- name: Code Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '17'
- name: Get Gradle Version
run: |
echo "TAGS=latest" >> $GITHUB_ENV
SUFFIX=""
VERSION=$(grep 'version' build.gradle | cut -f 2 -d "'")$SUFFIX
echo "VERSION=$VERSION" >> $GITHUB_ENV
REPO=$(echo $GITHUB_REPOSITORY | cut -f 2 -d "/")
echo "REPO=$REPO" >> $GITHUB_ENV
echo "OWNER=$GITHUB_REPOSITORY_OWNER" >> $GITHUB_ENV
- name: Check if version is used
run: |
URL=$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/releases/tags/${{ env.VERSION }}
echo "$URL"
CODE=$(curl -s -o /dev/null -w "%{http_code}" "$URL")
if [ "$CODE" != 404 ]; then
echo "Release '$VERSION' already exists. ($CODE)"
exit 1
fi
- name: Generating self-signed certificate
run: |
openssl req \
-newkey rsa:2048 \
-new \
-nodes \
-x509 \
-days 3650 \
-keyout key.pem \
-out cert.pem \
-subj "/C=US/ST=SC/L=Hometown/O=IT/emailAddress=root@localhost/CN=localhost"
- name: Test & Build
run: |
./gradlew build --no-daemon \
-Dquarkus.package.type=native \
-Dquarkus.native.container-build=true \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.push=true \
-Dquarkus.container-image.username=${{ env.OWNER }} \
-Dquarkus.container-image.password=${{ secrets.DOCKER_TOKEN }} \
-Dquarkus.container-image.group=${{ env.OWNER }} \
-Dquarkus.container-image.name=${{ env.REPO }} \
-Dquarkus.container-image.tag=${{ env.VERSION }} \
-Dquarkus.container-image.additional-tags=${{ env.TAGS }} \
-Dquarkus.jib.platforms=linux/amd64,linux/arm64
- name: Creating GitHub Tag
uses: mathieudutour/[email protected]
with:
custom_tag: ${{ env.VERSION }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Release
uses: ncipollo/release-action@v1
with:
tag: ${{ env.VERSION }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Overwrite Coverage Theme
run: |
/bin/cp -rf helpers/jacoco-report/* build/jacoco-report/.
- name: Publishing to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
publish_dir: ./build/jacoco-report
github_token: ${{ secrets.GITHUB_TOKEN }}