Skip to content

Build

Build #3923

Workflow file for this run

name: Build
on:
push:
paths-ignore:
- README.md
- '**/*.md'
pull_request:
schedule:
- cron: "0 0 * * 0"
permissions:
contents: read
jobs:
build:
name: ${{ matrix.os }} with Java 21
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
steps:
- name: Checkout master branch
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
with:
distribution: 'oracle'
java-version: '21'
- name: Cache Maven packages
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Checkout Universal ctags
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
repository: universal-ctags/ctags
path: ctags
- name: Install pre-requisites (Unix)
if: runner.os == 'Linux' || runner.os == 'macOS'
run: ./dev/before_install
- name: Install Universal ctags (Windows)
if: runner.os == 'Windows'
run: choco install universal-ctags
- name: Before build actions
shell: bash
run: ./dev/before
- name: Maven build
shell: bash
env:
OPENGROK_PULL_REQUEST: ${{ github.head_ref }}
OPENGROK_REPO_SLUG: ${{ github.repository }}
OPENGROK_REF: ${{ github.ref }}
OPENGROK_SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./dev/main
- name: Upload artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: opengrok-${{ github.sha }}-${{ matrix.os }}.tar.gz
path: distribution/target/opengrok-*.tar.gz
compression-level: 0