feat: support visit of stage repository (#2305)

* add: stage repository

* feat: enable user access to stage repo

* feat: support jdk8 compilation, exclude jdk11-only modules

* fix:  jdk version

* fix:apply suggestions

Co-authored-by: imbajin <jin@apache.org>

* Update pom.xml

---------

Co-authored-by: imbajin <jin@apache.org>
This commit is contained in:
M 2023-09-06 22:22:27 +08:00 committed by GitHub
parent c70a2944b0
commit 0903e900e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 94 additions and 2 deletions

43
.github/configs/settings.xml vendored Normal file
View File

@ -0,0 +1,43 @@
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>github</id>
<username>${env.GITHUB_ACTOR}</username>
<password>${env.GITHUB_TOKEN}</password>
</server>
</servers>
<profiles>
<profile>
<id>local-repo</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>staged-releases</id>
<url>https://repository.apache.org/content/groups/staging/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>staged-releases</id>
<url>https://repository.apache.org/content/groups/staging/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>local-repo</activeProfile>
</activeProfiles>
</settings>

View File

@ -14,6 +14,7 @@ jobs:
dependency-check:
runs-on: ubuntu-latest
env:
USE_STAGE: 'true' # Whether to include the stage repository.
SCRIPT_DEPENDENCY: hugegraph-server/hugegraph-dist/scripts/dependency
steps:
- name: Checkout source
@ -23,6 +24,11 @@ jobs:
with:
java-version: '11'
distribution: 'adopt'
- name: use staged maven repo settings
if: ${{ env.USE_STAGE == 'true' }}
run: |
cp $HOME/.m2/settings.xml /tmp/settings.xml
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml
- name: mvn install
run: |
mvn install -DskipTests=true -ntp

View File

@ -12,6 +12,7 @@ jobs:
build:
runs-on: ubuntu-20.04
env:
USE_STAGE: 'true' # Whether to include the stage repository.
TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis
REPORT_DIR: target/site/jacoco
BACKEND: ${{ matrix.BACKEND }}
@ -46,6 +47,12 @@ jobs:
with:
fetch-depth: 2
- name: use staged maven repo settings
if: ${{ env.USE_STAGE == 'true' }}
run: |
cp $HOME/.m2/settings.xml /tmp/settings.xml
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml
- name: Compile
run: |
mvn clean compile -U -Dmaven.javadoc.skip=true -ntp
@ -53,8 +60,10 @@ jobs:
- name: Install JDK 8
uses: actions/setup-java@v3
with:
overwrite-settings: false
java-version: '8'
distribution: 'zulu'
- name: Prepare env and service
run: |
$TRAVIS_DIR/install-backend.sh $BACKEND
@ -62,6 +71,7 @@ jobs:
- name: Install JDK ${{ matrix.JAVA_VERSION }}
uses: actions/setup-java@v3
with:
overwrite-settings: false
java-version: ${{ matrix.JAVA_VERSION }}
distribution: 'zulu'

View File

@ -11,6 +11,8 @@ on:
jobs:
analyze:
env:
USE_STAGE: 'true' # Whether to include the stage repository.
name: Analyze
runs-on: ubuntu-latest
permissions:
@ -33,6 +35,12 @@ jobs:
distribution: 'zulu'
java-version: '11'
- name: use staged maven repo settings
if: ${{ env.USE_STAGE == 'true' }}
run: |
cp $HOME/.m2/settings.xml /tmp/settings.xml
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2

29
pom.xml
View File

@ -94,7 +94,32 @@
<modules>
<module>hugegraph-server</module>
<module>hugegraph-pd</module>
<module>hugegraph-store</module>
</modules>
<profiles>
<profile>
<id>stage</id>
<repositories>
<repository>
<id>staged-releases</id>
<url>https://repository.apache.org/content/groups/staging/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>staged-releases</id>
<url>https://repository.apache.org/content/groups/staging/</url>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>jdk-11-to-17-support</id>
<activation>
<jdk>[11, 17)</jdk>
</activation>
<modules>
<module>hugegraph-store</module>
<module>hugegraph-pd</module>
</modules>
</profile>
</profiles>
</project>