Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
64f0938
cleaning : remove files with no apparent use
LucindaLanoy Feb 2, 2026
5d62284
add workflow to automatically fetch the latest api release and put it…
LucindaLanoy Feb 3, 2026
261ee49
changed to add more packages that can't be found in api latest releases
LucindaLanoy Feb 3, 2026
5adf2f6
rename to prepare second workflow
LucindaLanoy Feb 3, 2026
d5a02ed
Create api_update_from_tags.yml
LucindaLanoy Feb 3, 2026
63481f6
Merge pull request #1 from LucindaLanoy/standalone-version
LucindaLanoy Feb 3, 2026
af1a943
try to fix nothing to commit error
LucindaLanoy Feb 3, 2026
828720b
changes of standalone branch
LucindaLanoy Feb 3, 2026
4b65a75
changes to match standalone branch
LucindaLanoy Feb 3, 2026
a7de5a3
Automatic update of CyzFile-API from latest tag ()
actions-user Feb 4, 2026
7d93a4e
removed latest tag from commit message
LucindaLanoy Feb 4, 2026
045fa3e
remove update from release for now as latest tag works better
LucindaLanoy Feb 4, 2026
7d2fa5a
Change cron schedule to run on the 15th of each month
LucindaLanoy Feb 5, 2026
2fef7d8
Automatic update of CyzFile-API from latest tag
actions-user Feb 15, 2026
b1309d5
merge changes from standalone branch
LucindaLanoy Mar 9, 2026
304fc9b
Merge branch 'main' of https://github.com/LucindaLanoy/cyz2json
LucindaLanoy Mar 9, 2026
a726003
Enhance README with usage details and API update instructions
LucindaLanoy Mar 9, 2026
0bf746e
Update Directory.Build.props with new version resolution logic
LucindaLanoy Mar 10, 2026
924a233
Update build.yml
LucindaLanoy Mar 10, 2026
bbdbbe5
Create build-cyz2json.yml
LucindaLanoy Mar 10, 2026
a7e27cd
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
87e9d61
Update Directory.Build.props
LucindaLanoy Mar 10, 2026
1a92d2c
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
aec6ca6
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
353d751
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
dbd0af1
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
42f8629
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
7c53b02
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
1fd9c1b
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
1518ae1
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
bace6c6
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
e610e3a
Update build-cyz2json.yml
LucindaLanoy Mar 10, 2026
eae7186
Automatic update of CyzFile-API from latest tag
actions-user Mar 15, 2026
8fa318a
update actions version and changed result dir name (without version)
LucindaLanoy Mar 16, 2026
3c828bb
Update action versions (to remove warnings)
LucindaLanoy Mar 16, 2026
ebdaaef
removed version spe api folders to test workflow
LucindaLanoy Mar 16, 2026
474f17b
Automatic update of CyzFile-API from latest tag
actions-user Mar 16, 2026
ece7332
fixed repo name mistake
LucindaLanoy Mar 16, 2026
a884322
Automatic update of CyzFile-API from latest tag
actions-user Mar 16, 2026
0be57c6
remove error folder
LucindaLanoy Mar 16, 2026
cf189e9
added latest changes of Cytobuoy for image procesing
LucindaLanoy Mar 16, 2026
2d48a34
try to tackle the version issue
LucindaLanoy Mar 16, 2026
b11b944
remove trigers on push so it stops running each time
LucindaLanoy Mar 16, 2026
72574ad
deleted unused lines
LucindaLanoy Mar 16, 2026
490f70d
Merge branch 'main' of https://github.com/LucindaLanoy/cyz2json
LucindaLanoy Mar 16, 2026
c327762
make workflow just for releases (manual trigger)
LucindaLanoy Mar 16, 2026
01030cb
Create Check-Cyz2Json.yml
LucindaLanoy Mar 16, 2026
d8fac14
update release method because of node 20 end of support
LucindaLanoy Mar 16, 2026
6c2ad64
Update action versions to try fixing warning message
LucindaLanoy Mar 16, 2026
d3c37df
Update to not run if changes are to workflows only
LucindaLanoy Mar 16, 2026
1ff9af0
add Licence to assets
LucindaLanoy Mar 16, 2026
339b5f0
Update publish-cyz2json.yml
LucindaLanoy Mar 16, 2026
9c4226c
Rename api_update_from_tags.yml to API-update-from-tags.yml
LucindaLanoy Mar 16, 2026
5c62d78
Rename publish-cyz2json.yml to Release-Cyz2Json.yml
LucindaLanoy Mar 16, 2026
d768ac9
last changes
LucindaLanoy Mar 16, 2026
3804654
add versioning based on the method for the API
LucindaLanoy Mar 16, 2026
fa8b1df
remove API to prepare for merge with main fork
LucindaLanoy Mar 17, 2026
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
8 changes: 0 additions & 8 deletions .dockerignore

This file was deleted.

84 changes: 84 additions & 0 deletions .github/workflows/API-update-from-tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Update API from Latest Tag

on:
workflow_dispatch:
schedule:
- cron: '0 2 15 * *'

jobs:
update-api:
runs-on: ubuntu-latest
steps:
- name: Checkout of cyz2json
uses: actions/checkout@v6

- name: Installer .NET SDK
uses: actions/setup-dotnet@v5
with:
dotnet-version: '8.0.x'

- name: Fetch latest tag of CyzFile-API
run: |
REPO_OWNER="CytoBuoy"
REPO_NAME="CyzFile-API"
BASE_TARGET_DIR="Cyz2Json"

# Clone API repo
git clone https://github.com/$REPO_OWNER/$REPO_NAME.git external-repo

# Path to temporary dir (for build)
TEMP_DIR="$GITHUB_WORKSPACE/temp_dir"
mkdir -p "$TEMP_DIR"

cd external-repo

# Get latest tag
LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
echo "Latest tag found : $LATEST_TAG"

# Path to result dir
FULL_TARGET_DIR="$GITHUB_WORKSPACE/$BASE_TARGET_DIR/$REPO_NAME"

# Checkout the tag
git checkout $LATEST_TAG

# Compile the API (only CyzFile)
dotnet restore

# Build + publish with custom MSBuild properties
dotnet msbuild CyzFile/CyzFile.vbproj -target:Publish -p:OutputPath=$TEMP_DIR/ -p:Configuration=Release -p:TargetFramework=net8.0

# Make dir to store publish result and copy
mkdir -p "$FULL_TARGET_DIR"

# Path to publish dir
PUBLISH_DIR="$TEMP_DIR/publish"

echo "Source path : $PUBLISH_DIR"
echo "Destination path : $FULL_TARGET_DIR"

if [ -d "$PUBLISH_DIR" ]; then
echo "Copy files from $PUBLISH_DIR to $FULL_TARGET_DIR"
cp -r "$PUBLISH_DIR"/* "$FULL_TARGET_DIR/"
else
echo "Erreur : The folder $PUBLISH_DIR doesn't exist."
exit 1
fi

# Clean temporary folders
cd "$GITHUB_WORKSPACE"
rm -rf "$TEMP_DIR"
rm -rf external-repo

- name: Commit and push changes
run: |
git add .
if ! git diff-index --quiet HEAD; then
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
git commit -m "Automatic update of CyzFile-API from latest tag"
git push
else
echo "No changes detected in the API, no commit necessary."
fi

61 changes: 61 additions & 0 deletions .github/workflows/Check-Cyz2Json.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Test Cyz2Json after changes

on:
push:
branches: [ "main" ]
paths-ignore:
- '.github/**'
pull_request:
branches: [ "main" ]
paths-ignore:
- '.github/**'
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v6

- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x

- name: Restore dependencies and Build
shell: bash
run: |
dotnet restore
dotnet build --no-restore -p:OutputPath=./bin/

- name: Set RID
id: set-rid
shell: bash
run: |
case "${{ matrix.os }}" in
windows-latest) echo "rid=win-x64" >> $GITHUB_OUTPUT ;;
ubuntu-latest) echo "rid=linux-x64" >> $GITHUB_OUTPUT ;;
macos-latest)
if [ "$(uname -m)" = "arm64" ]; then
echo "rid=osx-arm64" >> $GITHUB_OUTPUT
else
echo "rid=osx-x64" >> $GITHUB_OUTPUT
fi
;;
esac

- name: Publish
shell: bash
run: |
dotnet publish \
-c Release \
-r ${{ steps.set-rid.outputs.rid }} \
--sc true \
-p:IncludeNativeLibrariesForSelfExtract=true \
-p:PublishReadyToRun=true \
-p:OutputPath=./bin/${{ steps.set-rid.outputs.rid }}/publish/
echo "Build succeeded !"
129 changes: 129 additions & 0 deletions .github/workflows/Release-Cyz2Json.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: Publish a release of Cyz2Json

on:
workflow_dispatch:
inputs:
version:
description: 'Version tag (e.g. v1.0.0)'
required: true
type: string
reason:
description: 'Reason for release'
required: false
default: 'Release latest updates'

permissions:
contents: write

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v6

- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x

- name: Get release version number
id: version
shell: bash
run: |
VERSION="${{ github.event.inputs.version }}"
VERSION="${VERSION#v}"

echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "Building version: ${VERSION}"

- name: Restore dependencies and Build
shell: bash
run: |
dotnet restore -p:Version=${{ steps.version.outputs.version }}
dotnet build --no-restore -p:OutputPath=./bin/ -p:Version=${{ steps.version.outputs.version }}

- name: Set RID
id: set-rid
shell: bash
run: |
case "${{ matrix.os }}" in
windows-latest) echo "rid=win-x64" >> $GITHUB_OUTPUT ;;
ubuntu-latest) echo "rid=linux-x64" >> $GITHUB_OUTPUT ;;
macos-latest)
if [ "$(uname -m)" = "arm64" ]; then
echo "rid=osx-arm64" >> $GITHUB_OUTPUT
else
echo "rid=osx-x64" >> $GITHUB_OUTPUT
fi
;;
esac

- name: Publish
shell: bash
run: |
dotnet publish \
-c Release \
-r ${{ steps.set-rid.outputs.rid }} \
--sc true \
-p:IncludeNativeLibrariesForSelfExtract=true \
-p:PublishReadyToRun=true \
-p:Version=${{ steps.version.outputs.version }} \
-p:OutputPath=./bin/${{ steps.set-rid.outputs.rid }}/publish/

- name: Copy Licence
shell: bash
run: |
publish_dir="Cyz2Json/bin/${{ steps.set-rid.outputs.rid }}/publish"
cp LICENSE.txt "$publish_dir/"

- name: Create Release Archive
shell: pwsh
run: |
if ($env:RUNNER_OS -eq "Windows") {
cd ./Cyz2Json/bin/${{ steps.set-rid.outputs.rid }}/publish
7z a ../../../../cyz2json-${{ matrix.os }}.zip ./*
}
else {
cd ./Cyz2Json/bin/${{ steps.set-rid.outputs.rid }}/publish
zip -r ../../../../cyz2json-${{ matrix.os }}.zip ./*
}

- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: cyz2json-${{ matrix.os }}
path: cyz2json-${{ matrix.os }}.zip

release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v8
with:
path: artifacts

- name: Get release version number
id: version
shell: bash
run: |
VERSION="${{ github.event.inputs.version }}"
VERSION="${VERSION#v}"
echo "version=${VERSION}" >> $GITHUB_OUTPUT

- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.version.outputs.version }}
name: Release ${{ steps.version.outputs.version }}
body: ${{ github.event.inputs.reason }}
files: |
artifacts/cyz2json-ubuntu-latest/cyz2json-ubuntu-latest.zip
artifacts/cyz2json-windows-latest/cyz2json-windows-latest.zip
artifacts/cyz2json-macos-latest/cyz2json-macos-latest.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading