Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First and probably wrong shot at GH actions file, supposedly for 3.1 branch.
- Loading branch information
Showing
1 changed file
with
352 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,352 @@ | ||
name: Weld CI | ||
|
||
on: | ||
pull_request: | ||
branches: [ master ] | ||
# Do not run for non-code changes | ||
paths-ignore: | ||
- '.gitignore' | ||
- '*.md' | ||
- '*.adoc' | ||
- '*.txt' | ||
|
||
jobs: | ||
# builds Weld snapshot, downloads WFLY and upgrades it, prepares ENV variable | ||
build-jdk11: | ||
name: "Initial JDK 11 Weld Build + WildFly patch" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: 11 | ||
- name: Download WildFly | ||
run: | | ||
wget https://ci.wildfly.org/guestAuth/repository/download/WF_Nightly/latest.lastSuccessful/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 | ||
- 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@v2 | ||
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-master-${{ steps.get-date.outputs.date }} | ||
- name: Build Weld SNAPSHOT | ||
run: mvn clean install -DskipTests -B -V | ||
- name: Patch WildFly | ||
run: | | ||
JBOSS_HOME=`pwd`'/container/*' | ||
export JBOSS_HOME=`echo $JBOSS_HOME` | ||
mvn clean package -Pupdate-jboss-as -Dtck -f jboss-as/pom.xml | ||
- name: Zip Patched WildFly | ||
run: | | ||
cd container/ | ||
mv ./* wildfly/ | ||
zip -r wildfly.zip wildfly | ||
cd .. | ||
- name: Persist WildFly | ||
uses: actions/upload-artifact@v1 | ||
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@v1 | ||
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: "8", | ||
java-version: 8, | ||
} | ||
- { | ||
name: "11", | ||
java-version: 11, | ||
} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK ${{ matrix.java.name }} | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: ${{ matrix.java.java-version }} | ||
|
||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
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@v1 | ||
with: | ||
name: wildfly-patched-zip | ||
path: . | ||
- name: Extract WildFly | ||
run: unzip wildfly.zip | ||
- name: Build with Maven | ||
run: | | ||
JBOSS_HOME=`pwd`'/wildfly' | ||
export JBOSS_HOME=`echo $JBOSS_HOME` | ||
mvn clean verify -Dincontainer -pl '!jboss-tck-runner' | ||
- 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@v1 | ||
if: failure() | ||
with: | ||
name: test-reports-incontainer-jdk${{matrix.java.name}} | ||
path: 'test-reports.tgz' | ||
|
||
# CDI TCKs in WildFly | ||
CDI-TCK: | ||
name: "CDI TCK - JDK ${{matrix.java.name}}" | ||
runs-on: ubuntu-latest | ||
needs: build-jdk11 | ||
timeout-minutes: 120 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
java: | ||
- { name: "8", | ||
java-version: 8, | ||
} | ||
- { | ||
name: "11", | ||
java-version: 11, | ||
} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK ${{ matrix.java.name }} | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: ${{ matrix.java.java-version }} | ||
|
||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
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@v1 | ||
with: | ||
name: wildfly-patched-zip | ||
path: . | ||
- name: Extract WildFly | ||
run: unzip wildfly.zip | ||
- name: Build with Maven | ||
run: | | ||
JBOSS_HOME=`pwd`'/wildfly' | ||
export JBOSS_HOME=`echo $JBOSS_HOME` | ||
mvn clean verify -Dincontainer -f 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@v1 | ||
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: "8", | ||
java-version: 8, | ||
} | ||
- { | ||
name: "11", | ||
java-version: 11, | ||
} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK ${{ matrix.java.name }} | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: ${{ matrix.java.java-version }} | ||
|
||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: maven-repo | ||
path: . | ||
- name: Extract Maven Repo | ||
shell: bash | ||
run: tar -xzf maven-repo.tgz -C ~ | ||
- name: Build with Maven | ||
run: | | ||
mvn clean verify | ||
- 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@v1 | ||
if: failure() | ||
with: | ||
name: test-reports-no-container-jdk${{matrix.java.name}} | ||
path: 'test-reports.tgz' | ||
|
||
# Weld Examples build and test, only JDK 11 | ||
examples-tests: | ||
name: "Weld Examples build and test - JDK 11}" | ||
runs-on: ubuntu-latest | ||
needs: build-jdk11 | ||
timeout-minutes: 120 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: 11 | ||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
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@v1 | ||
with: | ||
name: wildfly-patched-zip | ||
path: . | ||
- name: Extract WildFly | ||
run: unzip wildfly.zip | ||
- name: Build with Maven | ||
run: | | ||
JBOSS_HOME=`pwd`'/wildfly' | ||
export JBOSS_HOME=`echo $JBOSS_HOME` | ||
mvn clean verify -Darquillian=wildfly-managed -f examples/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@v1 | ||
if: failure() | ||
with: | ||
name: test-reports-examples | ||
path: 'test-reports.tgz' | ||
|
||
# CDI TCK for SE environment | ||
CDI-TCK-SE: | ||
name: "CDI TCK SE - JDK ${{matrix.java.name}}" | ||
runs-on: ubuntu-latest | ||
needs: build-jdk11 | ||
timeout-minutes: 120 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
java: | ||
- { name: "8", | ||
java-version: 8, | ||
} | ||
- { | ||
name: "11", | ||
java-version: 11, | ||
} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK ${{ matrix.java.name }} | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: ${{ matrix.java.java-version }} | ||
|
||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: maven-repo | ||
path: . | ||
- name: Extract Maven Repo | ||
shell: bash | ||
run: tar -xzf maven-repo.tgz -C ~ | ||
- name: Build with Maven | ||
run: | | ||
mvn clean verify -Dincontainer=se -f 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@v1 | ||
if: failure() | ||
with: | ||
name: test-reports-cdi-tck-se-jdk${{matrix.java.name}} | ||
path: 'test-reports.tgz' | ||
|
||
# Weld SE/Servlet cooperation | ||
weld-se-servlet-coop: | ||
name: "Weld SE-Servlet Cooperation" | ||
runs-on: ubuntu-latest | ||
needs: build-jdk11 | ||
timeout-minutes: 20 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1.4.3 | ||
with: | ||
java-version: 11 | ||
- name: Download Maven Repo | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: maven-repo | ||
path: . | ||
- name: Extract Maven Repo | ||
shell: bash | ||
run: tar -xzf maven-repo.tgz -C ~ | ||
- name: Build with Maven | ||
run: | | ||
mvn clean verify -Dincontainer=weld-se-coop -f environments/servlet/tests/jetty/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@v1 | ||
if: failure() | ||
with: | ||
name: test-reports-se-servlet-coop | ||
path: 'test-reports.tgz' |