diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 4edca2a9a..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,30 +0,0 @@ -version: 2.1 -jobs: - build: - parameters: - jdk-version: - type: string - working_directory: ~/circleci-arquillian-core - docker: - - image: circleci/openjdk:<< parameters.jdk-version >> - steps: - - checkout - - restore_cache: - key: circleci-arquillian-core-{{ checksum "pom.xml" }} - - run: ./mvnw verify -q -U -DskipTests # pre-fetch dependencies (dependency:resolve fails) - - run: ./mvnw verify - - store_test_results: - path: target/surefire-reports - - save_cache: - paths: - - ~/.m2 - key: circleci-arquillian-core-{{ checksum "pom.xml" }} - -workflows: - version: 2.1 - circleci_build: - jobs: - - build: - matrix: - parameters: - jdk-version: ["8", "11"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..9dab07da5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,93 @@ +name: Java CI with Maven + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + + arquillian-build-jdk8: + name: Integration - JDK 8 + runs-on: ubuntu-latest + timeout-minutes: 10 + outputs: + SNAPSHOT_VERSION: ${{ steps.arq-version.outputs.SNAPSHOT_VERSION }} + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + name: JDK 8 setup + with: + java-version: 8 + distribution: 'temurin' + cache: maven + + - name: Build with Maven + run: mvn clean -B install + + - name: Version save + id: arq-version + run: | + VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec) + echo "SNAPSHOT_VERSION=$VERSION" >> $GITHUB_OUTPUT + echo "Arquillian version: $VERSION" + + - name: Artifact upload + uses: actions/upload-artifact@v4 + with: + name: arquillian + path: ~/.m2/repository/org/jboss/ + + arquillian-build-jdk11: + name: Integration - JDK 11 + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + name: JDK 11 setup + with: + java-version: 11 + distribution: 'temurin' + cache: maven + + - name: Build with Maven + run: mvn clean -B install + + integration-wildfly-job: + runs-on: ubuntu-latest + name: Integration verification for WildFly + needs: arquillian-build-jdk8 + timeout-minutes: 300 + + steps: + - uses: actions/checkout@v4 + + - uses: actions/download-artifact@v4 + with: + name: arquillian + path: ~/.m2/repository/org/jboss + + - uses: actions/setup-java@v4 + name: JDK 17 setup + with: + java-version: 17 + distribution: 'temurin' + cache: maven + + - uses: actions/checkout@v4 + name: Checkout WildFly + with: + repository: wildfly/wildfly + + - name: WildFly integration + env: + SNAPSHOT_VERSION: ${{ needs.arquillian-build-jdk8.outputs.SNAPSHOT_VERSION }} + run: | + mvn clean install -Dquickly -Dversion.org.jboss.arquillian.core="$SNAPSHOT_VERSION" + mvn clean verify -f testsuite/integration -DallTests -Dversion.org.jboss.arquillian.core="$SNAPSHOT_VERSION"