Skip to content

Bump actions/upload-artifact from 3 to 4 #99

Bump actions/upload-artifact from 3 to 4

Bump actions/upload-artifact from 3 to 4 #99

Workflow file for this run

name: Weld Parent CI
on:
pull_request:
branches: [ master ]
env:
# Link to latest WFLY build
WFLY_EE10: https://ci.wildfly.org/guestAuth/repository/download/WF_Nightly/latest.lastSuccessful/wildfly-latest-SNAPSHOT.zip
jobs:
# Preparation job that builds the cache, prepares snapshots and server
build-jdk11:
name: "Initial Weld Build + WildFly patch"
runs-on: ubuntu-latest
steps:
- name: Checkout Weld Parent repo
uses: actions/checkout@v4
with:
path: parent
- name: Checkout Weld repo
uses: actions/checkout@v4
with:
repository: weld/core
path: core
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Download WildFly
run: |
cd $GITHUB_WORKSPACE
wget $WFLY_EE10 -O wildfly-latest-SNAPSHOT.zip
unzip wildfly-latest-SNAPSHOT.zip
# ZIP contains two more ZIPs, sources and actual WFLY
rm wildfly-*-src.zip
rm wildfly-latest-SNAPSHOT.zip
unzip wildfly-*.zip -d container
cd container
mv ./* wildfly/
- name: Get Date
id: get-date
run: |
echo "::set-output name=date::$(/bin/date -u "+%Y-%m")"
shell: bash
- name: Cache Maven Repository
id: cache-maven
uses: actions/cache@v3
with:
path: ~/.m2/repository
# Caching is an automated pre/post action that installs the cache if the key exists and exports the cache
# after the job is done. In this case we refresh the cache monthly (by changing key) to avoid unlimited growth.
key: q2maven-${{ steps.get-date.outputs.date }}
- name: Build Weld Parent SNAPSHOT
run: |
mvn clean install -DskipTests -B -V -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f parent/pom.xml
- name: Update Parent in Core and Build
run: |
PARENT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec -f parent/pom.xml)
sed -i -e "/<parent>/,/<\/parent>/ s|<version>[0-9a-z.]\{1,\}</version>|<version>${PARENT_VERSION}</version>|g" core/pom.xml
cd core
mvn clean install -DskipTests -Dformat.skip=true -B -V -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120
cd ..
- name: Patch WildFly
run: |
JBOSS_HOME=`pwd`'/container/*'
export JBOSS_HOME=`echo $JBOSS_HOME`
mvn clean package -Pupdate-jboss-as -Dtck -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f core/jboss-as/pom.xml
- name: Zip Patched WildFly
run: |
cd container/
zip -r wildfly.zip wildfly
cd ..
- name: Persist WildFly
uses: actions/upload-artifact@v4
with:
name: wildfly-patched-zip
path: container/wildfly.zip
- name: Tar Maven Repo
shell: bash
run: tar -czf maven-repo.tgz -C ~ .m2/repository
- name: Persist Maven Repo
uses: actions/upload-artifact@v4
with:
name: maven-repo
path: maven-repo.tgz
- name: Delete Local Artifacts From Cache
shell: bash
run: rm -r ~/.m2/repository/org/jboss/weld*
# Weld in-container tests, does NOT include TCKs which are run as a separate job
incontainer-tests:
name: "Weld In-container Tests - JDK ${{matrix.java.name}}"
runs-on: ubuntu-latest
needs: build-jdk11
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
java:
- { name: "11",
java-version: 11,
}
- {
name: "17",
java-version: 17,
}
steps:
- name: Checkout Weld Parent repo
uses: actions/checkout@v4
with:
path: parent
- name: Checkout Weld repo
uses: actions/checkout@v4
with:
repository: weld/core
path: core
- name: Set up JDK ${{ matrix.java.name }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java.java-version }}
distribution: 'temurin'
- name: Download Maven Repo
uses: actions/download-artifact@v3
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Download Patched WildFly
uses: actions/download-artifact@v3
with:
name: wildfly-patched-zip
path: .
- name: Extract WildFly
run: unzip wildfly.zip
- name: Build with Maven
run: |
PARENT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec -f parent/pom.xml)
sed -i -e "/<parent>/,/<\/parent>/ s|<version>[0-9a-z.]\{1,\}</version>|<version>${PARENT_VERSION}</version>|g" core/pom.xml
JBOSS_HOME=`pwd`'/wildfly'
export JBOSS_HOME=`echo $JBOSS_HOME`
mvn clean verify -Dincontainer -Dformat.skip=true -pl '!jboss-tck-runner,!impl' -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f core/pom.xml
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-incontainer-jdk${{matrix.java.name}}
path: 'test-reports.tgz'
# CDI TCKs in WildFly
CDI-TCK:
name: "Weld CDI TCK - JDK ${{matrix.java.name}}"
runs-on: ubuntu-latest
needs: build-jdk11
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
java:
- { name: "11",
java-version: 17,
}
- {
name: "17",
java-version: 17,
}
steps:
- name: Checkout Weld Parent repo
uses: actions/checkout@v4
with:
path: parent
- name: Checkout Weld repo
uses: actions/checkout@v4
with:
repository: weld/core
path: core
- name: Set up JDK ${{ matrix.java.name }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java.java-version }}
distribution: 'temurin'
- name: Download Maven Repo
uses: actions/download-artifact@v3
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Download Patched WildFly
uses: actions/download-artifact@v3
with:
name: wildfly-patched-zip
path: .
- name: Extract WildFly
run: unzip wildfly.zip
- name: Build with Maven
run: |
PARENT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec -f parent/pom.xml)
sed -i -e "/<parent>/,/<\/parent>/ s|<version>[0-9a-z.]\{1,\}</version>|<version>${PARENT_VERSION}</version>|g" core/pom.xml
JBOSS_HOME=`pwd`'/wildfly'
export JBOSS_HOME=`echo $JBOSS_HOME`
mvn clean verify -Dincontainer -Dformat.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f core/jboss-tck-runner/pom.xml
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-cdi-tck-jdk${{matrix.java.name}}
path: 'test-reports.tgz'
# Weld no-container tests, includes junit, Weld SE tests plus CDI TCKs and integration tests that don't require EE container
no-container-tests:
name: "Weld Tests w/o Container - JDK ${{matrix.java.name}}"
runs-on: ubuntu-latest
needs: build-jdk11
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
java:
- { name: "11",
java-version: 11,
}
- {
name: "17",
java-version: 17,
}
steps:
- name: Checkout Weld Parent repo
uses: actions/checkout@v4
with:
path: parent
- name: Checkout Weld repo
uses: actions/checkout@v4
with:
repository: weld/core
path: core
- name: Set up JDK ${{ matrix.java.name }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java.java-version }}
distribution: 'temurin'
- name: Download Maven Repo
uses: actions/download-artifact@v3
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Build with Maven
run: |
PARENT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec -f parent/pom.xml)
sed -i -e "/<parent>/,/<\/parent>/ s|<version>[0-9a-z.]\{1,\}</version>|<version>${PARENT_VERSION}</version>|g" core/pom.xml
mvn clean verify -pl '!impl' -Dformat.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f core/pom.xml
mvn surefire:test -f core/impl/pom.xml
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-no-container-jdk${{matrix.java.name}}
path: 'test-reports.tgz'
# CDI TCK for SE environment
CDI-TCK-SE:
name: "Weld CDI TCK SE - JDK ${{matrix.java.name}}"
runs-on: ubuntu-latest
needs: build-jdk11
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
java:
- { name: "11",
java-version: 11,
}
- {
name: "17",
java-version: 11,
}
steps:
- name: Checkout Weld Parent repo
uses: actions/checkout@v4
with:
path: parent
- name: Checkout Weld repo
uses: actions/checkout@v4
with:
repository: weld/core
path: core
- name: Set up JDK ${{ matrix.java.name }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java.java-version }}
distribution: 'temurin'
- name: Download Maven Repo
uses: actions/download-artifact@v3
with:
name: maven-repo
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Build with Maven
run: |
PARENT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec -f parent/pom.xml)
sed -i -e "/<parent>/,/<\/parent>/ s|<version>[0-9a-z.]\{1,\}</version>|<version>${PARENT_VERSION}</version>|g" core/pom.xml
mvn clean verify -Dincontainer=se -Dformat.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -f core/jboss-tck-runner/pom.xml
- name: Prepare failure archive (if maven failed)
if: failure()
shell: bash
run: find . -name '*-reports' -type d | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-cdi-tck-se-jdk${{matrix.java.name}}
path: 'test-reports.tgz'