Skip to content

Commit

Permalink
Release 0.3.0 to main (#121)
Browse files Browse the repository at this point in the history
Release the new features to main in a new release process.

This is a release to main, **do not squash or rebase**
  • Loading branch information
AntonReinhard authored Oct 24, 2024
2 parents 3af6d7e + 10aff71 commit 4c0ec58
Show file tree
Hide file tree
Showing 68 changed files with 2,134 additions and 441 deletions.
1 change: 0 additions & 1 deletion .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
style = "blue"

19 changes: 12 additions & 7 deletions .github/workflows/BuildDeployDoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build and Deploy Documentation
on:
push:
branches:
- master
- main
- dev
tags: '*'
pull_request:
Expand All @@ -19,13 +19,18 @@ jobs:
- uses: julia-actions/setup-julia@v1
with:
version: '1.10'
- name: Add custom registry
- name: clone integration test tools
run: |
julia --project=docs/ -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/QEDjl-project/registry.git"));'
julia --project=docs/ -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/JuliaRegistries/General"));'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
git clone --depth 1 -b dev https://github.com/QEDjl-project/QuantumElectrodynamics.jl.git /tmp/integration_test_tools/
- name: set dev dependencies
run: |
$(julia --project=. /tmp/integration_test_tools/.ci/integTestGen/src/get_project_name_version_path.jl)
echo "CI_DEV_PKG_NAME -> $CI_DEV_PKG_NAME"
echo "CI_DEV_PKG_VERSION -> $CI_DEV_PKG_VERSION"
echo "CI_DEV_PKG_PATH -> $CI_DEV_PKG_PATH"
julia --project=docs/ /tmp/integration_test_tools/.ci/SetupDevEnv/src/SetupDevEnv.jl
julia --project=docs/ -e 'import Pkg; Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: julia --project=docs/ docs/make.jl
6 changes: 0 additions & 6 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,6 @@ jobs:
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add("General")
shell: julia --color=yes {0}
- name: "Add QED custom registry"
run: |
import Pkg
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/QEDjl-project/registry.git"))
shell: julia --color=yes {0}
- name: "Install CompatHelper"
run: |
import Pkg
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: "3"
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.TAGBOT_PRIV }}
2 changes: 1 addition & 1 deletion .github/workflows/formatter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
- name: install Julia
uses: julia-actions/setup-julia@v1
with:
version: 1.10
version: "1.10"
- name: Install Julia requirements
run: julia --project=${GITHUB_WORKSPACE}/.formatting -e 'import Pkg; Pkg.instantiate()'
- name: Check code style
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -543,4 +543,4 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

# End of https://www.toptal.com/developers/gitignore/api/julia,windows,macos,linux,vs,git,vim,emacs
# End of https://www.toptal.com/developers/gitignore/api/julia,windows,macos,linux,vs,git,vim,emacs
28 changes: 14 additions & 14 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,17 @@ stages:
stage: unit-test
script:
- apt update && apt install -y git
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QED.jl.git /QEDjl
- julia --project=. -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/QEDjl-project/registry.git"));'
- julia --project=. -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/JuliaRegistries/General"));'
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QuantumElectrodynamics.jl.git /tmp/integration_test_tools/
- $(julia --project=. /tmp/integration_test_tools/.ci/integTestGen/src/get_project_name_version_path.jl)
- echo "CI_DEV_PKG_NAME -> $CI_DEV_PKG_NAME"
- echo "CI_DEV_PKG_VERSION -> $CI_DEV_PKG_VERSION"
- echo "CI_DEV_PKG_PATH -> $CI_DEV_PKG_PATH"
- >
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_BRANCH == "dev" || $CI_COMMIT_REF_NAME == "dev" ]]; then
# set name of the commit message from CI_COMMIT_MESSAGE to NO_MESSAGE, that the script does not read accidentally custom packages from the commit message of a merge commit
julia --project=. /QEDjl/.ci/SetupDevEnv/src/SetupDevEnv.jl ${CI_PROJECT_DIR}/Project.toml NO_MESSAGE
julia --project=. /tmp/integration_test_tools/.ci/SetupDevEnv/src/SetupDevEnv.jl ${CI_PROJECT_DIR}/Project.toml NO_MESSAGE
else
julia --project=. /QEDjl/.ci/SetupDevEnv/src/SetupDevEnv.jl ${CI_PROJECT_DIR}/Project.toml
julia --project=. /tmp/integration_test_tools/.ci/SetupDevEnv/src/SetupDevEnv.jl ${CI_PROJECT_DIR}/Project.toml
fi
- julia --project=. -e 'import Pkg; Pkg.instantiate()'
- julia --project=. -e 'import Pkg; Pkg.test(; coverage = true)'
Expand All @@ -28,7 +30,7 @@ unit_tests_releases:
extends: .untit_test_template
parallel:
matrix:
- JULIA_VERSION: ["1.6", "1.7", "1.8", "1.9", "1.10", "rc"]
- JULIA_VERSION: ["1.10", "1.11", "rc"]
image: julia:$JULIA_VERSION

unit_tests_nightly:
Expand Down Expand Up @@ -69,15 +71,13 @@ generate_integration_tests:
stage: generate_integration_test
script:
# extract package name
- export CI_DEPENDENCY_NAME=$(cat $CI_PROJECT_DIR/Project.toml | grep name | awk '{ print $3 }' | tr -d '"')
- echo "CI_DEPENDENCY_NAME -> $CI_DEPENDENCY_NAME"
- apt update && apt install -y git
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QED.jl.git /QEDjl
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QuantumElectrodynamics.jl.git /QEDjl
- $(julia --project /QEDjl/.ci/integTestGen/src/get_project_name_version_path.jl)
- echo "CI_DEV_PKG_NAME -> $CI_DEV_PKG_NAME"
- echo "CI_DEV_PKG_VERSION -> $CI_DEV_PKG_VERSION"
- echo "CI_DEV_PKG_PATH -> $CI_DEV_PKG_PATH"
- cd /QEDjl/.ci/integTestGen/
# use local registry of the QED project
- julia --project=. -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/QEDjl-project/registry.git"));'
# needs to add General registry again, if local registry was added
- julia --project=. -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/JuliaRegistries/General"));'
- julia --project=. -e 'import Pkg; Pkg.instantiate()'
# paths of artifacts are relative to CI_PROJECT_DIR
- >
Expand Down Expand Up @@ -109,7 +109,7 @@ verify-unit-test-deps_julia1.10:
stage: verify-unit-test-deps
script:
- apt update && apt install -y git
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QED.jl.git /QEDjl
- git clone --depth 1 -b dev https://github.com/QEDjl-project/QuantumElectrodynamics.jl.git /QEDjl
- >
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_BRANCH == "dev" || $CI_COMMIT_REF_NAME == "dev" ]]; then
# does not check for custom package URLs on the main and dev branch
Expand Down
46 changes: 42 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
# Changelog

## Version 0.3.0

[diff since 0.2.2](https://github.com/QEDjl-project/QEDbase.jl/compare/v0.2.2...v0.3.0)

This release contains the renaming of `QuantumElectrodynamics.jl` (previously `QED.jl`) and improvements of the interface and functionality of `AbstractPhaseSpacePoint` for spins and polarizations of particles. This includes the addition of new types `SyncedSpin` and `SyncedPol`.

Since Julia 1.10 is now the LTS version, this release also drops versions below 1.10 from support.

### Breaking Changes

The `multiplicity` function was changed in [#112](https://github.com/QEDjl-project/QEDbase.jl/pull/112) to accept `AbstractProcessDefinition`s instead of raw spins or polarizations, breaking compatibility if this function was used. The function was used in [`QEDprocesses.jl`](https://github.com/QEDjl-project/QEDprocesses.jl), with the incompatibility fixed in the respective new version `QEDprocesses.jl-v0.3.0`.

### New features

- [#106](https://github.com/QEDjl-project/QEDbase.jl/pull/106): Add spin and polarization interface for `AbstractProcessDefinition`, namely functions `spin_pol`, `incoming_spin_pol` and `outgoing_spin_pol`
- [#112](https://github.com/QEDjl-project/QEDbase.jl/pull/112): Add `SyncedSpin` and `SyncedPol` types, representing a synchronization of the spins or polarizations across multiple particles in the same scattering process
- [#118](https://github.com/QEDjl-project/QEDbase.jl/pull/118): Add `spin_pols_iter`, returning an iterator for a given `AbstractProcessDefinition`, yielding all possible spin and polarization combinations for the process, including support for the `SyncedSpin` and `SyncedPol` types
- [#129](https://github.com/QEDjl-project/QEDbase.jl/pull/129): Add coordinate transformation interface

### Fixes

- [#110](https://github.com/QEDjl-project/QEDbase.jl/pull/110): Remove `mul` from exported functions and rename, fixing a naming collision and unnecessary export
- [#111](https://github.com/QEDjl-project/QEDbase.jl/pull/111): Fix GPU incompatibility of the `momenta` implementation
- [#115](https://github.com/QEDjl-project/QEDbase.jl/pull/115): Set QEDjl-project dependencies to dev versions for documentation build and deploy job
- [#116](https://github.com/QEDjl-project/QEDbase.jl/pull/116): Fix docs build and deployment CI job

### Maintenance

- [#108](https://github.com/QEDjl-project/QEDbase.jl/pull/108): Separate implementations from interfaces in the repository file structure
- [#120](https://github.com/QEDjl-project/QEDbase.jl/pull/120): Apply renaming of `QuantumElectrodynamics.jl` (previously `QED.jl`)
- [#123](https://github.com/QEDjl-project/QEDbase.jl/pull/123): Remove custom QEDjl-project registry
- [#124](https://github.com/QEDjl-project/QEDbase.jl/pull/124): Add Julia TagBot
- [#130](https://github.com/QEDjl-project/QEDbase.jl/pull/130): Drop Julia 1.9 and below from support and CI
- [#125](https://github.com/QEDjl-project/QEDbase.jl/pull/125): Update integration test suite
- [#127](https://github.com/QEDjl-project/QEDbase.jl/pull/127): Add lots of docs and tutorials

## Version 0.2.2

[diff since 0.2.0](https://github.com/QEDjl-project/QEDbase.jl/compare/release-0.2.0...release-0.2.2)
[diff since 0.2.0](https://github.com/QEDjl-project/QEDbase.jl/compare/v0.2.0...v0.2.2)

This release adds some convenience overloads to existing functions, some code maintenance and small fixes.

Expand Down Expand Up @@ -35,9 +71,9 @@ No further breaking or non-breaking changes.

## Version 0.2.0

[diff since 0.1.6](https://github.com/QEDjl-project/QEDbase.jl/compare/release-0.1.6...release-0.2.0)
[diff since 0.1.6](https://github.com/QEDjl-project/QEDbase.jl/compare/v0.1.6...v0.2.0)

This release is part of the restructuring processes of QED.jl (see https://github.com/QEDjl-project/QED.jl/issues/35 for details).
This release is part of the restructuring processes of QED.jl (see https://github.com/QEDjl-project/QuantumElectrodynamics.jl/issues/35 for details).
It is a breaking release, indicated by the bumped minor version because we don't have a major version for this
yet.

Expand Down Expand Up @@ -75,6 +111,8 @@ fixes

## Version 0.1.6

[diff since 0.1.6](https://github.com/QEDjl-project/QEDbase.jl/compare/1f8b2d2340e5a92c700bff458bfc385b8904448f...v0.1.6)

This is a maintenance release, which resolves, among others, some issues with the git history.

### Breaking changes
Expand All @@ -94,7 +132,7 @@ No new features.

## Version 0.1.5

[diff since 0.1.4](https://github.com/QEDjl-project/QEDbase.jl/compare/0c70f66...release-0.1.5)
[diff since 0.1.4](https://github.com/QEDjl-project/QEDbase.jl/compare/v0.1.4...v0.1.5)

### Breaking changes

Expand Down
5 changes: 3 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ authors = [
"Tom Jungnickel",
"Anton Reinhard",
]
version = "0.2.2"
version = "0.3.0"

[deps]
ArgCheck = "dce04be8-c92d-5529-be00-80e4d2c0e197"
Expand All @@ -25,9 +25,10 @@ ArgCheck = "2.3.0"
ConstructionBase = "1"
DocStringExtensions = "0.8.5, 0.9"
PhysicalConstants = "0.2.1"
QEDcore = "0.1.1"
SimpleTraits = "0.9.4"
StaticArrays = "1.2.13"
julia = "1.6"
julia = "1.10"

[extras]
QEDcore = "35dc0263-cb5f-4c33-a114-1d7f54ab753e"
Expand Down
Loading

0 comments on commit 4c0ec58

Please sign in to comment.