Skip to content

Commit

Permalink
Merge branch 'release/v0.4.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
fktn-k committed Jan 11, 2025
2 parents 5fdd76e + 0d43eff commit 8517fb7
Show file tree
Hide file tree
Showing 521 changed files with 6,414 additions and 3,953 deletions.
1 change: 1 addition & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Checks: '*,
-altera-id-dependent-backward-branch,
-altera-struct-pack-align,
-altera-unroll-loops,
-bugprone-easily-swappable-parameters,
-cert-dcl21-cpp,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-avoid-do-while,
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- .github/workflows/coverage.yml
- cmake/**
- include/**
- test/**
- tests/**
- CMakeLists.txt
- Makefile
# to grant pull-requests write permission to fork repos as well
Expand All @@ -18,7 +18,7 @@ on:
- .github/workflows/coverage.yml
- cmake/**
- include/**
- test/**
- tests/**
- CMakeLists.txt
- Makefile
workflow_dispatch:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/format_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ on:
- include/**
- scripts/**
- single_include/**
- test/**
- tool/amalgamation/**
- tests/**
- tools/amalgamation/**
- CMakeLists.txt
- .clang-format
# to grant contents write permission to fork repos as well
Expand All @@ -21,8 +21,8 @@ on:
- include/**
- scripts/**
- single_include/**
- test/**
- tool/amalgamation/**
- tests/**
- tools/amalgamation/**
- CMakeLists.txt
- .clang-format
workflow_dispatch:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ on:
- cmake/**
- include/**
- single_include/**
- test/**
- tests/**
- CMakeLists.txt
pull_request:
paths:
- .github/workflows/macos.yml
- cmake/**
- include/**
- single_include/**
- test/**
- tests/**
- CMakeLists.txt
workflow_dispatch:

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:
- develop
paths:
- .github/workflows/publish_docs.yml
- docs/examples/**
- docs/mkdocs/**
- examples/**
- docs/**
workflow_dispatch:

# no cancellation during uploads to avoid broken publications
Expand Down Expand Up @@ -37,15 +37,15 @@ jobs:
cmake --build ${{github.workspace}}/build --config Debug
- name: Build documentation
run: make -C docs/mkdocs build
run: make build-docs

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload API documents
uses: actions/upload-pages-artifact@v3
with:
path: ${{github.workspace}}/docs/mkdocs/site
path: ${{github.workspace}}/docs/site

deploy:
if: github.repository == 'fktn-k/fkYAML'
Expand Down
83 changes: 53 additions & 30 deletions .github/workflows/release_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,52 +9,75 @@ on:
jobs:
create_package:
timeout-minutes: 10
runs-on: ${{matrix.os}}
runs-on: ubuntu-latest # Since fkYAML is a header-only library, just using ubuntu-latest is enough for packaging.
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
single_header: ["ON", "OFF"]
include:
- os: ubuntu-latest
artifact_name: fkYAML.tgz
- artifact_name: fkYAML
single_header: "OFF"
- os: ubuntu-latest
artifact_name: fkYAML_single_header.tgz
single_header: "ON"
- os: windows-latest
artifact_name: fkYAML.zip
single_header: "OFF"
- os: windows-latest
artifact_name: fkYAML_single_header.zip
- artifact_name: fkYAML_single_header
single_header: "ON"

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: install zip
run: sudo apt-get install zip

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/build/package" -DFK_YAML_USE_SINGLE_HEADER=${{matrix.single_header}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/build/${{matrix.artifact_name}}" -DFK_YAML_USE_SINGLE_HEADER=${{matrix.single_header}}

- name: Install
run: |
cmake --build ${{github.workspace}}/build --config Release --target install
ls ${{github.workspace}}/build/package
ls -lAR ${{github.workspace}}/build/${{matrix.artifact_name}}
- name: Package
shell: bash
- name: Create tgz/zip archives of the install package
run: |
ls '${{github.workspace}}/build'
if [[ "${{ matrix.os }}" == "windows-latest" ]]
then
7z a ${{matrix.artifact_name}} '${{github.workspace}}/build/package'
else
tar czvf ${{matrix.artifact_name}} '${{github.workspace}}/build/package'
fi
ls
- name: Upload Artifacts
cd ${{github.workspace}}/build
tar czvf '${{matrix.artifact_name}}.tgz' ./${{matrix.artifact_name}}
zip -r '${{matrix.artifact_name}}.zip' ./${{matrix.artifact_name}}
- name: Upload Artifacts (tgz)
uses: actions/upload-artifact@v4
with:
name: '${{matrix.artifact_name}}.tgz'
path: '${{github.workspace}}/build/${{matrix.artifact_name}}.tgz'

- name: Upload Artifacts (zip)
uses: actions/upload-artifact@v4
with:
name: '${{matrix.artifact_name}}.zip'
path: '${{github.workspace}}/build/${{matrix.artifact_name}}.zip'

create_minimum_archive:
timeout-minutes: 10
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: install zip
run: sudo apt-get install zip

- name: Create minimum tgz & zip archives
working-directory: ${{github.workspace}}
run: | # create a tgz archive which contains minimum required files to be used as a CMake project (e.g., using FetchContent).
mkdir fkYAML_min
cp -vr CMakeLists.txt fkYAML.natvis LICENSE.txt README.md include single_include ./fkYAML_min
tar czvf fkYAML_min.tgz ./fkYAML_min
zip -r fkYAML_min.zip ./fkYAML_min
rm -rf ./fkYAML_min
- name: Upload the minimum archive (tgz)
uses: actions/upload-artifact@v4
with:
name: fkYAML_min.tgz
path: '${{github.workspace}}/fkYAML_min.tgz'

- name: Upload the minimum archive (zip)
uses: actions/upload-artifact@v4
with:
name: ${{matrix.artifact_name}}
path: ${{matrix.artifact_name}}
name: fkYAML_min.zip
path: '${{github.workspace}}/fkYAML_min.zip'
8 changes: 4 additions & 4 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ on:
- cmake/**
- include/**
- single_include/**
- test/**
- tool/**
- tests/**
- tools/**
- .clang-tidy
- CMakeLists.txt
- Makefile
Expand All @@ -21,8 +21,8 @@ on:
- cmake/**
- include/**
- single_include/**
- test/**
- tool/**
- tests/**
- tools/**
- .clang-tidy
- CMakeLists.txt
- Makefile
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ on:
- cmake/**
- include/**
- single_include/**
- test/**
- tests/**
- CMakeLists.txt
pull_request:
paths:
- .github/workflows/windows.yml
- cmake/**
- include/**
- single_include/**
- test/**
- tests/**
- CMakeLists.txt
workflow_dispatch:

Expand Down
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
/.vs/

# documentation
/docs/mkdocs/site/
/docs/mkdocs/venv/
/docs/site/
/docs/venv/

# natvis generator
/tool/natvis_generator/venv/
/tools/natvis_generator/venv/
2 changes: 1 addition & 1 deletion .reuse/templates/fkYAML.jinja2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
_______ __ __ __ _____ __ __ __
| __| |_/ | \_/ |/ _ \ / \/ \| | fkYAML: A C++ header-only YAML library
| __| _ < \_ _/| ___ | _ | |___ version 0.4.0
| __| _ < \_ _/| ___ | _ | |___ version 0.4.1
|__| |_| \__| |_| |_| |_|___||___|______| https://github.com/fktn-k/fkYAML

{% for copyright_line in copyright_lines %}
Expand Down
2 changes: 1 addition & 1 deletion .reuse/templates/fkYAML_support.jinja2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
_______ __ __ __ _____ __ __ __
| __| |_/ | \_/ |/ _ \ / \/ \| | fkYAML: A C++ header-only YAML library (supporting code)
| __| _ < \_ _/| ___ | _ | |___ version 0.4.0
| __| _ < \_ _/| ___ | _ | |___ version 0.4.1
|__| |_| \__| |_| |_| |_|___||___|______| https://github.com/fktn-k/fkYAML

{% for copyright_line in copyright_lines %}
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Changelog

## [v0.4.1](https://github.com/fktn-k/fkYAML/releases/tag/v0.4.1) (2025-01-11)

[Full Changelog](https://github.com/fktn-k/fkYAML/compare/v0.4.0...v0.4.1)

- Fix: made sure that empty documents just serialize to \[\] or {} [\#460](https://github.com/fktn-k/fkYAML/pull/460) ([johan-gson](https://github.com/johan-gson))
- fix: Fixed a bug where serialize didn't write out empty vectors and mappings [\#456](https://github.com/fktn-k/fkYAML/pull/456) ([johan-gson](https://github.com/johan-gson))
- Fix bad indentation detection for block collection entries [\#451](https://github.com/fktn-k/fkYAML/pull/451) ([fktn-k](https://github.com/fktn-k))
- Emit an error if ":" is missing after a mapping key [\#450](https://github.com/fktn-k/fkYAML/pull/450) ([fktn-k](https://github.com/fktn-k))

- Add test cases for serializing root empty collections [\#461](https://github.com/fktn-k/fkYAML/pull/461) ([fktn-k](https://github.com/fktn-k))
- Mapping key/value access in range based for loops [\#458](https://github.com/fktn-k/fkYAML/pull/458) ([fktn-k](https://github.com/fktn-k))
- Add test cases for serializing empty collection nodes [\#457](https://github.com/fktn-k/fkYAML/pull/457) ([fktn-k](https://github.com/fktn-k))
- Fix invalid paths for documentation & other tools [\#453](https://github.com/fktn-k/fkYAML/pull/453) ([fktn-k](https://github.com/fktn-k))
- Update copyright year and directory structure [\#452](https://github.com/fktn-k/fkYAML/pull/452) ([fktn-k](https://github.com/fktn-k))
- Optimize lexer implementation [\#448](https://github.com/fktn-k/fkYAML/pull/448) ([fktn-k](https://github.com/fktn-k))
- Update workflow jobs for release artifacts [\#447](https://github.com/fktn-k/fkYAML/pull/447) ([fktn-k](https://github.com/fktn-k))
- Revise the contents of API References [\#445](https://github.com/fktn-k/fkYAML/pull/445) ([fktn-k](https://github.com/fktn-k))
- support std::forward\_list in from\_node [\#444](https://github.com/fktn-k/fkYAML/pull/444) ([fktn-k](https://github.com/fktn-k))
- Add get\_value\_inplace API to basic\_node [\#443](https://github.com/fktn-k/fkYAML/pull/443) ([fktn-k](https://github.com/fktn-k))
- Resolve CMake deprecation warning [\#442](https://github.com/fktn-k/fkYAML/pull/442) ([fktn-k](https://github.com/fktn-k))

## [v0.4.0](https://github.com/fktn-k/fkYAML/releases/tag/v0.4.0) (2024-12-10)

[Full Changelog](https://github.com/fktn-k/fkYAML/compare/v0.3.14...v0.4.0)
Expand Down
14 changes: 7 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.8...3.10)

################################
# Project name and version #
################################

project(
fkYAML
VERSION 0.4.0
VERSION 0.4.1
LANGUAGES CXX)

#############################################################
Expand Down Expand Up @@ -110,7 +110,7 @@ endif()
###########################

if(FK_YAML_BUILD_EXAMPLES)
add_subdirectory(docs/examples)
add_subdirectory(examples)
endif()

############################
Expand All @@ -119,16 +119,16 @@ endif()

# Configure clang-tidy if enabled.
if(FK_YAML_RUN_CLANG_TIDY)
add_subdirectory(tool/clang_tidy)
add_subdirectory(tools/clang_tidy)
endif()

# Configure include-what-you-use if enabled.
if(FK_YAML_RUN_IWYU)
add_subdirectory(tool/iwyu)
add_subdirectory(tools/iwyu)
endif()

if(FK_YAML_RUN_BENCHMARK)
add_subdirectory(tool/benchmark)
add_subdirectory(tools/benchmark)
endif()

#################################
Expand All @@ -143,7 +143,7 @@ if(FK_YAML_BUILD_TEST OR FK_YAML_BUILD_ALL_TEST)
add_subdirectory(${CATCH2_ROOT_DIR})
include(CTest)
enable_testing()
add_subdirectory(test)
add_subdirectory(tests)

# Set the unit test app project as the Visual Studio startup project
# if the target compiler is some version of Microsoft Visual C++ and
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 Kensuke Fukutani
Copyright (c) 2023-2025 Kensuke Fukutani

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit 8517fb7

Please sign in to comment.