Skip to content

Commit

Permalink
Move from Travis to GitHub Actions (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
vharseko authored Nov 3, 2023
1 parent 8afd23b commit 0ba37d1
Show file tree
Hide file tree
Showing 10 changed files with 723 additions and 108 deletions.
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/Bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/Feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
214 changes: 214 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
name: Build

on:
push:
pull_request:
branches: [ master ]

jobs:
build-maven:
runs-on: ${{ matrix.os }}
strategy:
matrix:
java: [ '8', '11' ]
os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Java ${{ matrix.Java }} (${{ matrix.os }})
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Build with Maven
env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
run: mvn --batch-mode --errors --update-snapshots verify --file pom.xml
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.os }}-${{ matrix.java }}
retention-days: 5
path: |
jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip
jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip
jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip
jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip
jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip
jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip
jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip
build-docker-tomcat-8-5-jre8:
runs-on: 'ubuntu-latest'
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Build with Maven
env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
run: mvn --batch-mode --errors --update-snapshots package --file pom.xml
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
localhost:5000/${{ github.repository }}
tags: |
type=raw,value=test
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
- name: Build image
uses: docker/build-push-action@v3
continue-on-error: true
with:
context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Docker test
shell: bash
run: |
docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
build-docker-tomcat-9-jre8:
runs-on: 'ubuntu-latest'
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Build with Maven
env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
run: |
mvn --batch-mode --errors --update-snapshots package --file pom.xml
sed -i -e 's/tomcat:8\.5-jre8/tomcat:9-jre8/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
localhost:5000/${{ github.repository }}
tags: |
type=raw,value=test
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
- name: Build image
uses: docker/build-push-action@v3
continue-on-error: true
with:
context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Docker test
shell: bash
run: |
docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
build-docker-tomee-7-1-plus-jre8:
runs-on: 'ubuntu-latest'
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
- name: Build with Maven
env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
run: |
mvn --batch-mode --errors --update-snapshots package --file pom.xml
sed -i -e 's/tomcat:8\.5-jre8/tomee:8-jre-7\.1\.0-plus/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
localhost:5000/${{ github.repository }}
tags: |
type=raw,value=test
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
- name: Build image
uses: docker/build-push-action@v3
continue-on-error: true
with:
context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Docker test
shell: bash
run: |
docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
92 changes: 92 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Package/Deploy

on:
workflow_dispatch:
workflow_run:
branches: [ master ]
workflows: ["Build","Release"]
types: [completed]
jobs:
deploy-maven:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: 'ubuntu-latest'
steps:
- name: Print github context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Install gpg secret key
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
if: ${{ env.GPG_PRIVATE_KEY!=''}}
run: |
cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
- name: Build package local
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
if: ${{ !(github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!='')}}
run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} package --file pom.xml
- name: Publish to the Maven Central Repository
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
if: ${{ github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!=''}}
run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy --file pom.xml
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (Appserver v10 ZIP)
path: jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (JBoss v42 ZIP)
path: jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (JBoss v7 ZIP)
path: jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (Jetty v61 ZIP)
path: jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (Jetty v7-v8 ZIP)
path: jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (JSR196 ZIP)
path: jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v3
with:
name: OpenAM Java Policy Agent (Tomcat v6-v9 ZIP)
path: jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip

Loading

0 comments on commit 0ba37d1

Please sign in to comment.