Browse Source

Use special Maven settings with access token to GitHub Packages

The access token is for the 'kriegaex' account. Can be adjusted or
extended in order to support other Package registries, too. for now, I
just want to see it this solves the authentication error problems during
GitHub CI builds.

The new file .mvn/settings-read-github-packages.xml contains additional
information and links to online sources, explaining why this is
necessary.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
tags/V1_9_7_M2
Alexander Kriegisch 3 years ago
parent
commit
7e3e616607
2 changed files with 28 additions and 3 deletions
  1. 3
    3
      .github/workflows/maven.yml
  2. 25
    0
      .mvn/settings-read-github-packages.xml

+ 3
- 3
.github/workflows/maven.yml View File

@@ -32,14 +32,14 @@ jobs:
ant -version

- name: Download + install test libraries
run: ./mvnw -B -U --file libx/pom.xml compile
run: ./mvnw -B --settings .mvn/settings-read-github-packages.xml --file libx/pom.xml compile

- name: Compile + package code
run: ./mvnw -B -DskipTests package --file pom.xml
run: ./mvnw -B --settings .mvn/settings-read-github-packages.xml --file pom.xml -DskipTests package

- name: Run Tests
# Tests in module ajde call Swing/AWT classes. Without frame buffer they throw
# HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
uses: GabrielBB/xvfb-action@v1
with:
run: ./mvnw -B -Daspectj.tests.verbose=false verify --file pom.xml
run: ./mvnw -B --settings .mvn/settings-read-github-packages.xml --file pom.xml -Daspectj.tests.verbose=false verify

+ 25
- 0
.mvn/settings-read-github-packages.xml View File

@@ -0,0 +1,25 @@
<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">

<!--
GitHub Actions currently requires authentication even for read-only access to Maven artifacts stored in GitHub
Packages. There is no such thing as public package repositories without authentication. See here:
https://github.community/t/how-to-allow-unauthorised-read-access-to-github-packages-maven-repository/115517/4

How to use it:
https://github.com/jcansdale-test/maven-consume

How to XML-encode an access token online (no problem to use the website, it is meant for public access anyway):
https://coderstoolbox.net/string/#!encoding=xml&action=encode&charset=none
-->

<servers>
<server>
<id>github</id>
<username>kriegaex</username>
<!-- Public access token with 'read:packages' scope -->
<password>&#103;&#104;&#112;&#95;&#68;&#74;&#97;&#71;&#119;&#108;&#80;&#75;&#55;&#116;&#68;&#55;&#102;&#73;&#51;&#107;&#103;&#111;&#109;&#71;&#100;&#78;&#115;&#86;&#105;&#88;&#67;&#100;&#50;&#98;&#50;&#55;&#74;&#104;&#66;&#77;</password>
</server>
</servers>

</settings>

Loading…
Cancel
Save