Skip to content

upstream-build

upstream-build #1016

name: Build component
on:
push:
pull_request:
repository_dispatch:
types: [upstream-build, manual-build]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout sources from component repository
uses: actions/checkout@v4
- name: Checkout additional sources from product repository
uses: actions/checkout@v4
with:
repository: Guite/MostProduct
token: ${{ secrets.ACCESS_MOST_PRODUCT }}
path: MostProduct
# see https://github.com/actions/setup-java
- name: Setup JDK
uses: actions/setup-java@master
with:
distribution: temurin
java-version: 21
cache: maven
# Tycho 4 requires Maven 3.8 at least
- name: Update Maven
run: |
wget -q https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
tar xzf apache-maven-3.9.8-bin.tar.gz && rm apache-maven-3.9.8-bin.tar.gz
mv apache-maven-3.9.8 maven
# https://stackoverflow.com/questions/71069/can-maven-be-made-less-verbose
- name: Maven Build
run: |
maven/bin/mvn verify -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- name: Collect artifacts to deploy
run: |
mkdir -p deploy/repo
cp -R releng/org.zikula.modulestudio.generator.build/target/repository/* deploy/repo
# see https://github.com/WebFreak001/deploy-nightly
- name: Deploy standalone generator
uses: WebFreak001/deploy-nightly@master
with:
upload_url: https://uploads.github.com/repos/Guite/MostGenerator/releases/22066470/assets{?name,label}
release_id: 22066470
asset_path: ./bundles/org.zikula.modulestudio.generator/target/ModuleStudio-generator.jar
#asset_name: ModuleStudio-generator-$$.jar # $$ inserts date (YYYYMMDD) and 6 letter commit hash, example: https://github.com/Pure-D/serve-d/releases/tag/nightly
asset_name: ModuleStudio-generator.jar
asset_content_type: application/java-archive
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
- name: Regenerate apps
run: ./.github/scripts/regenerateApps.sh
env:
DISPATCH_TOKEN: ${{ secrets.DISPATCH_TOKEN }}
# see https://github.com/SamKirkland/FTP-Deploy-Action
- name: Deploy repository
uses: SamKirkland/FTP-Deploy-Action@master
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local-dir: deploy/repo/
server-dir: components/generator/
dangerous-clean-slate: true
# see https://github.com/peter-evans/repository-dispatch
- name: Dispatch downstream job
uses: peter-evans/repository-dispatch@main
with:
token: ${{ secrets.DISPATCH_TOKEN }}
repository: Guite/MostProduct
event-type: upstream-build