laicrypto 0.1.5

Lemniscate-AGM Isogeny (LAI) Encryption – quantum‑resistant cryptography
Documentation
name: Publish Maven Package to GitHub Packages

permissions:
  contents: read
  packages: write

on:
  push:
    branches:
      - main
    paths:
      - 'pom.xml'
      - 'src/**'
      - '.github/workflows/maven.yml'

jobs:
  build-and-publish:
    runs-on: ubuntu-latest

    steps:
      # 1) Checkout code
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      # 2) Set up Java 11
      - name: Setup Java 11
        uses: actions/setup-java@v3
        with:
          distribution: 'temurin'
          java-version: '11'
          cache: 'maven'

      # 3) Build & Test
      - name: Build & Test
        run: mvn --batch-mode clean verify

      # 4) Configure Maven settings and deploy to GitHub Packages
      - name: Publish to GitHub Packages (Maven)
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          mkdir -p ~/.m2
          cat <<EOF > ~/.m2/settings.xml
          <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">
            <servers>
              <server>
                <id>github</id>
                <username>${{ github.actor }}</username>
                <password>${{ secrets.GITHUB_TOKEN }}</password>
              </server>
            </servers>
          </settings>
          EOF

          mvn --batch-mode deploy -DskipTests --settings ~/.m2/settings.xml