Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: Continuous Integration
on:
push:
branches:
- '**' # Run on push to any branch
- main # Run on merge to main
pull_request:
branches:
- main # Run on PRs to main
- main # Run on PR updates targeting main

jobs:
test:
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Release

on:
release:
types: [published]

jobs:
build-release:
runs-on: ubuntu-latest

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

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'

- name: Extract and validate version from tag
id: version
run: |
TAG="${{ github.event.release.tag_name }}"
VERSION="${TAG#v}"
if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then
echo "Error: version '$VERSION' is not valid semver (expected X.Y.Z)"
exit 1
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT

- name: Build release JAR
run: xvfb-run make install-release VERSION=${{ steps.version.outputs.version }}

- name: Upload JAR to release
run: |
gh release upload "${{ github.event.release.tag_name }}" \
"target/open-cyweb-${{ steps.version.outputs.version }}.jar" \
--clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

All notable changes to this project will be documented in this file.

## [1.0.0] - 2026-02-18

### Added
- Initial release of the OpenCytoscapeWeb Cytoscape app
- Open the current network in Cytoscape Web directly from the File > Export menu
- Configurable Cytoscape Web URL via app properties
- Configurable maximum file size limit for network export
- Validation of network size before attempting to open, with a user-friendly error dialog when the limit is exceeded
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: clean test coverage install updateversion help
.PHONY: clean test coverage install install-release updateversion help
.DEFAULT_GOAL := help

help:
Expand All @@ -11,6 +11,7 @@ help:
@echo " lint-fix auto-fix Spotless formatting"
@echo " coverage check code coverage with jacoco (report: target/site/jacoco/index.html)"
@echo " install install the package to local repo"
@echo " install-release build and install a release jar with VERSION (e.g. make install-release VERSION=1.2.3)"
@echo " updateversion updates version in pom.xml via maven command"

clean:
Expand All @@ -31,5 +32,9 @@ coverage:
install: clean
mvn install

install-release:
@if [ -z "$(VERSION)" ]; then echo "Error: VERSION is required. Usage: make install-release VERSION=1.2.3"; exit 1; fi
mvn clean install -Drevision=$(VERSION)

updateversion:
mvn versions:set
4 changes: 3 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

<properties>

<revision>1.0.0-SNAPSHOT</revision>

<bundle.symbolicName>edu.ucsd.idekerlab.opencyweb</bundle.symbolicName>
<bundle.namespace>edu.ucsd.idekerlab.opencyweb</bundle.namespace>

Expand All @@ -21,7 +23,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>edu.ucsd.idekerlab</groupId>
<artifactId>open-cyweb</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${revision}</version>
<packaging>bundle</packaging>
<name>OpenCytoscapeWeb</name>

Expand Down