Skip to content

Commit

Permalink
Update workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelva committed Dec 23, 2024
1 parent 5614b39 commit ffbf297
Show file tree
Hide file tree
Showing 4 changed files with 192 additions and 9 deletions.
20 changes: 11 additions & 9 deletions .github/workflows/maven_build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

Expand All @@ -11,7 +10,6 @@ name: Java Build with Maven

on:
workflow_dispatch:
branches: [ "*" ]

jobs:
build:
Expand All @@ -30,13 +28,17 @@ jobs:
- name: maven-settings-action
uses: s4u/[email protected]
with:
servers: '[
{"id": "maven-private", "username": "${{ secrets.NUXEO_MAVEN_USER }}", "password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"},
{"id": "maven-internal", "username": "${{ secrets.NUXEO_MAVEN_USER }}", "password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"}
]'

- name: Install ffmpeg
run: sudo apt-get -y install ffmpeg
servers: |
[
{
"id": "maven-private",
"username": "${{ secrets.NUXEO_MAVEN_USER }}",
"password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"
}
]
- name: Install OS dependencies
run: sudo apt-get -y install ffmpeg exiftool

- name: Build with Maven
run: mvn -B install --file pom.xml -DskipDocker=true
54 changes: 54 additions & 0 deletions .github/workflows/publish_snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Publish SNAPSHOT marketplace package

on:
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '23'
cache: maven

- name: maven-settings-action
uses: s4u/[email protected]
with:
servers: |
[
{
"id": "maven-private",
"username": "${{ secrets.NUXEO_MAVEN_USER }}",
"password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"
}
]
- name: Install OS dependencies
run: sudo apt-get -y install ffmpeg exiftool

- name: Build with Maven
run: mvn -B install --file pom.xml -DskipDocker=true

- name: Copy file
run: mkdir staging && cp ${{ vars.MP_TARGET_PATH }} staging/package.zip

- name: Upload ZIP file
run: |
curl -u ${{ secrets.CONNECT_USER }}:${{ secrets.CONNECT_TOKEN }} \
-F package=@staging/package.zip \
https://connect.nuxeo.com/nuxeo/site/marketplace/upload?batch=true&orgId=nuxeo-presales-us&restrictedToOrgs=nuxeo-presales-eu
65 changes: 65 additions & 0 deletions .github/workflows/release_and_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Release a version and Publish to the marketplace

on:
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '23'
cache: maven

- name: maven-settings-action
uses: s4u/[email protected]
with:
servers: |
[
{
"id": "maven-private",
"username": "${{ secrets.NUXEO_MAVEN_USER }}",
"password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"
}
]
- name: Install OS dependencies
run: sudo apt-get -y install ffmpeg exiftool

- name: Set up Git configuration
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Release with Maven
run: mvn -B release:prepare -DpushReleaseChanges=true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Copy file
run: mkdir staging && cp ${{ vars.MP_TARGET_PATH }} staging/package.zip

- name: Upload ZIP file
run: |
curl -u ${{ secrets.CONNECT_USER }}:${{ secrets.CONNECT_TOKEN }} \
-F package=@staging/package.zip \
https://connect.nuxeo.com/nuxeo/site/marketplace/upload?batch=true&orgId=nuxeo-presales-us&restrictedToOrgs=nuxeo-presales-eu
62 changes: 62 additions & 0 deletions .github/workflows/update_parent_nuxeo_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Update Nuxeo Version

on:
workflow_dispatch:
targetVersion:
description: 'The target nuxeo version to apply'
required: true
type: string

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '23'
cache: maven

- name: maven-settings-action
uses: s4u/[email protected]
with:
servers: |
[
{
"id": "maven-private",
"username": "${{ secrets.NUXEO_MAVEN_USER }}",
"password": "${{ secrets.NUXEO_MAVEN_TOKEN }}"
}
]
- name: Build with Maven
run: mvn versions:update-parent -DparentVersion=${{ inputs.targetVersion }} -DskipResolution=${{ inputs.targetVersion && 'true' || 'false' }}

- name: Set up Git configuration
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Commit changes
run: |
git add .
git commit -m "Update Nuxeo version to ${{ inputs.targetVersion }}"
- name: Push changes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push origin HEAD:main

0 comments on commit ffbf297

Please sign in to comment.