diff --git a/.github/workflows/release_manual.yaml b/.github/workflows/release_manual.yaml new file mode 100644 index 0000000..af6905f --- /dev/null +++ b/.github/workflows/release_manual.yaml @@ -0,0 +1,84 @@ +name: Publishes a new version of OnePlusBot +on: workflow_dispatch +permissions: + packages: write + contents: write +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: master + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'corretto' + java-version: 17 + - name: Load current version + id: version + run: echo "version=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec | cut -d- -f1)" >> $GITHUB_ENV + - name: Release maven packages + uses: qcastel/github-actions-maven-release@v1.12.41 + env: + JAVA_HOME: /usr/lib/jvm/java-17-openjdk/ + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + abstractoUser: Sheldan + abstractoToken: ${{ secrets.ABSTRACTO_PAT }} + with: + git-release-bot-name: "release-bot" + git-release-bot-email: "release-bot@sheldan.dev" + release-branch-name: master + maven-args: "-Dmaven.javadoc.skip=true -s settings.xml -DskipTests" + access-token: ${{ secrets.GITHUB_TOKEN }} + - name: Login to Harbor + uses: docker/login-action@v2 + with: + registry: harbor.sheldan.dev + username: ${{ secrets.HARBOR_USERNAME }} + password: ${{ secrets.HARBOR_TOKEN }} + - name: Update Chart version file + uses: fjogeleit/yaml-update-action@v0.13.2 + with: + valueFile: 'deployment/helm/oneplus-bot/Chart.yaml' + propertyPath: 'version' + value: ${{ env.version }} + commitChange: false + - name: Update value files version + uses: fjogeleit/yaml-update-action@v0.13.2 + with: + valueFile: 'deployment/helm/oneplus-bot/values.yaml' + commitChange: false + changes: | + { + "bot.tag": "${{ env.version }}", + "templateDeploymentData.tag": "${{ env.version }}", + "dbConfigDeploymentData.tag": "${{ env.version }}" + } + - name: Update .env version + run: + sed -i '3s/.*/VERSION=${{ env.version }}/' .env + - name: Load env file + id: dotenv + uses: falti/dotenv-action@v1.0.4 + with: + path: .env + - name: Build and push Docker containers + run: docker-compose build && docker-compose push + env: + REGISTRY_PREFIX: ${{ steps.dotenv.outputs.registry_prefix }} + VERSION: ${{ steps.dotenv.outputs.version }} + - name: Helm package and push + working-directory: ./deployment/helm/ + run: |- + helm registry login -u '${{ secrets.HARBOR_USERNAME }}' -p '${{ secrets.HARBOR_TOKEN }}' harbor.sheldan.dev + helm package oneplus-bot + helm push oneplus-bot*.tgz oci://harbor.sheldan.dev/oneplus-bot + - name: Fix file permissions + run: + sudo chmod -R ugo+rwX . # https://github.com/actions/checkout/issues/164 + - name: Commit updated versions + uses: EndBug/add-and-commit@v9 + with: + author_name: "release-bot" + author_email: "release-bot@sheldan.dev" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 96f822c..2f6c29e 100644 --- a/pom.xml +++ b/pom.xml @@ -17,8 +17,8 @@ 17 17 - 1.5.21 - 1.4.29 + 1.5.23 + 1.4.31 @@ -34,8 +34,15 @@ https://jcenter.bintray.com - github - https://maven.pkg.github.com/Sheldan/* + github-abstracto + https://maven.pkg.github.com/Sheldan/abstracto* + + true + + + + github-oneplusbot + https://maven.pkg.github.com/Sheldan/OnePlusBot* true @@ -45,16 +52,16 @@ - github + github-oneplusbot GitHub Packages https://maven.pkg.github.com/Sheldan/OnePlusBot - https://maven.pkg.github.com/Sheldan/OnePlusBot - scm:git:git@github.com:Sheldan/OnePlusBot.git + scm:git:${project.scm.url} + scm:git:${project.scm.url} + https://github.com/Sheldan/OnePlusBot.git HEAD - \ No newline at end of file diff --git a/settings.xml b/settings.xml index 7f7915a..4582c7d 100644 --- a/settings.xml +++ b/settings.xml @@ -16,8 +16,15 @@ https://repo1.maven.org/maven2 - github - https://maven.pkg.github.com/Sheldan/* + github-abstracto + https://maven.pkg.github.com/Sheldan/abstracto* + + true + + + + github-oneplusbot + https://maven.pkg.github.com/Sheldan/OnePlusBot* true @@ -28,9 +35,20 @@ - github - ${env.user} - ${env.token} + github-abstracto + ${env.abstractoUser} + ${env.abstractoToken} + + + github-oneplusbot + + + + Authorization + Bearer ${env.GITHUB_TOKEN} + + +