Skip to content

chore(release): bump version to 0.2.0 #24

chore(release): bump version to 0.2.0

chore(release): bump version to 0.2.0 #24

Workflow file for this run

name: Build
on:
push:
branches:
- "main"
- "release/*"
pull_request:
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
# Prepare environment and build the plugin
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Fetch Sources
uses: actions/checkout@v4
with:
submodules: recursive
# Validate wrapper
- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v2
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
# Setup Gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-home-cache-cleanup: true
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Restore Ghidra Dependency cache
id: cache-ghidra
uses: actions/cache/restore@v4
with:
path: ghidra/dependencies
key: "${{ runner.os }}-ghidra-dependencies-${{ hashFiles('**/fetchDependencies.gradle') }}"
- name: Fetch Ghidra Dependencies
if: steps.cache-ghidra.outputs.cache-hit != 'true'
run: |
gradle -I gradle/support/fetchDependencies.gradle init
working-directory: ghidra
- name: Save Ghidra Dependency cache
uses: actions/cache/save@v4
with:
path: ghidra/dependencies
key: ${{ steps.cache-ghidra.outputs.cache-primary-key }}
if: steps.cache-ghidra.outputs.cache-hit != 'true'
# Build plugin
- name: Build plugin
run: ./gradlew assembleDist
# Store already-built plugin as an artifact for downloading
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: artifacts-ghidralite-extension
path: ghidralite-extension/build/dist/*.zip
# Run tests and upload a code coverage report
# test:
# name: Test
# needs: [ build ]
# runs-on: ubuntu-latest
# steps:
#
# # Check out current repository
# - name: Fetch Sources
# uses: actions/checkout@v4
#
# # Setup Gradle
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@v3
# with:
# gradle-home-cache-cleanup: true
#
# # Run tests
# - name: Run Tests
# run: ./gradlew check
#
# # Collect Tests Result of failed tests
# - name: Collect Tests Result
# if: ${{ failure() }}
# uses: actions/upload-artifact@v4
# with:
# name: tests-result
# path: ${{ github.workspace }}/build/reports/tests
#
# # Upload the Kover report to CodeCov
# - name: Upload Code Coverage Report
# uses: codecov/codecov-action@v4
# with:
# files: ${{ github.workspace }}/build/reports/kover/report.xml
release:
name: Release draft
if: github.event_name != 'pull_request'
needs: [ build ]
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Fetch Sources
uses: actions/checkout@v4
- uses: google-github-actions/release-please-action@v4
id: release-please
with:
config-file: release-please-config.json
release-type: simple
- name: "Download Github Artifacts"
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: artifacts
merge-multiple: true
- name: Upload Release Asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload --clobber ${{ steps.release-please.outputs.tag_name }} ./artifacts/*
if: ${{ steps.release-please.outputs.release_created }}