Skip to content

Manual Pre-Daily Build Action #1

Manual Pre-Daily Build Action

Manual Pre-Daily Build Action #1

name: Manual Pre-Daily Build Action
on:
workflow_dispatch:
inputs:
date:
description: Dev date as 2023-07-11_0401
required: true
build:
description: Build level as cl230720230711-0401
required: true
driver:
description: Driver location like openliberty-all-23.0.0.7-cl230720230711-0401.zip
required: true
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
LIBERTY_LICENSE_SHA: ${{ secrets.LIBERTY_LICENSE_SHA }}
jobs:
build-docker-image:
runs-on: ubuntu-latest
strategy:
matrix:
builds: [ "{'date': '${{ github.event.inputs.date }}', 'driver_location': '${{ github.event.inputs.driver }}', 'build_level': '${{ github.event.inputs.build }}'}" ]
env:
DHE_URL: https://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/nightly
steps:
- name: Clone ci.docker repository
uses: actions/checkout@v2
with:
repository: OpenLiberty/ci.docker
path: ci.docker
- name: Docker login
run: echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
- name: Build Docker image for ${{ matrix.builds.date }}
run: |
cd ci.docker/releases/latest/full
sed -i '/&& wget -q \$LIBERTY_DOWNLOAD_URL/c\&& wget '$DHE_URL'/'${{ matrix.builds.date }}'/'${{ matrix.builds.driver_location }}' -U UA-Open-Liberty-Docker -O /tmp/wlp.zip \\' Dockerfile.ubi.openjdk11
sed -i '/&& sha1sum/d' Dockerfile.ubi.openjdk11
cat Dockerfile.ubi.openjdk11
echo "Building ${{ matrix.builds.build_level }} from ${{ matrix.builds.date }}"
docker build --build-arg LIBERTY_LICENSE_SHA=$LIBERTY_LICENSE_SHA -q -t $DOCKER_USERNAME/olguides:${{ matrix.builds.build_level }} -f Dockerfile.ubi.openjdk11 .
docker push $DOCKER_USERNAME/olguides:${{ matrix.builds.build_level }}
trigger-builds:
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.get-builds.outputs.matrix) }}
env:
GH_TOKEN: ${{ secrets.ADMIN_TOKEN }}
URI: "https://api.github.com/repos/OpenLiberty/guides-common/dispatches"
ACCEPT_HEADER: "application/vnd.github.v3+json"
CONTENT_TYPE: "application/json"
PAYLOAD: '{ "dev-date": "${{ matrix.builds.date }}", "driver-location": "${{ matrix.builds.driver_location }}", "build-level": "${{ matrix.builds.build_level }}", "jdk": "11" }'
steps:
- name: Trigger daily builds
run: |
curl -H "Accept: $ACCEPT_HEADER" \
-H "Authorization: token $GH_TOKEN" \
-d "{ \"event_type\": \"daily-build\", \"client_payload\": $PAYLOAD }" \
-X POST $URI
- name: Trigger Docker image tests
run: |
docker pull "openliberty/daily:latest" -q
IMAGEBUILDLEVEL=$(docker inspect --format "{{ index .Config.Labels \"org.opencontainers.image.revision\"}}" openliberty/daily:latest)
echo $IMAGEBUILDLEVEL
if [ $IMAGEBUILDLEVEL == ${{ matrix.builds.build_level }} ]
then
curl -H "Accept: $ACCEPT_HEADER" \
-H "Authorization: token $GH_TOKEN" \
-d "{ \"event_type\": \"docker-image-test\", \"client_payload\": $PAYLOAD }" \
-X POST $URI
fi