Skip to content

Commit

Permalink
(ci) add action workflow for autobuild and package publication
Browse files Browse the repository at this point in the history
  • Loading branch information
Lori3f6 committed Aug 13, 2024
1 parent 8e6b97b commit f016cf9
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/autobuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ref:
# Writing Workflows:
# https://docs.github.com/en/actions/writing-workflows
# Setup Java JDK:
# https://github.com/marketplace/actions/setup-java-jdk
# And the github action env is clean by default so the project need to be pulled and checkout by job
# https://github.com/marketplace/actions/checkout
# otherwise there is nothing in the workspace folder (can also run git pull but this one make thing easy)
# @v4 seems like the latest version matches v4.x.x for a job
#
name: AutoBuilder
run-name: 'Auto build on ${{github.ref_type}} ${{github.ref_name}} #${{github.run_number}}'
on: [push]
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: setup jdk 21
uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: '21'
- name: checkout repo
uses: actions/checkout@v4
- name: build project with maven
run: mvn --batch-mode package
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{github.event.repository.name}}-autobuild-${{github.run_number}}-git-${{github.sha}}.zip
path: ./build/libs/*.jar
43 changes: 43 additions & 0 deletions .github/workflows/package-pubilsh.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
# also ref:
# Publishing packages to GitHub Packages:
# https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-maven#publishing-packages-to-github-packages
#
# Upgrade to Automatic token authentication, no need for personal access token anymore
# ref: https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-personal-access-token
#

name: Publish to GitHub Packages

run-name: 'Package Publish #${{github.run_number}}'

on:
release:
types: [published]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

permissions:
packages: write
contents: read

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'oracle'
server-id: 'github-package'

- name: Publish to GitHub Packages Apache Maven
run: ./gradle publish
env:
GITHUB_MAVEN_URL: https://maven.pkg.github.com/${{github.repository}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
24 changes: 24 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import java.net.URI

plugins {
id("java")
id("maven-publish")
}

group = "me.crafter.mc"
Expand All @@ -24,4 +27,25 @@ dependencies {

java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
}

publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = project.group.toString()
artifactId = "lockettepro"
version = project.version.toString()
}
}
repositories {
maven {
name = "github-package"
url = URI(System.getenv("GITHUB_MAVEN_URL"))
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}
}

0 comments on commit f016cf9

Please sign in to comment.