Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AUTO : Forward from alpha to beta #1322

Merged
merged 105 commits into from
May 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
3c11c18
Fix tests
YBoy-git Apr 4, 2024
9b8df68
Hardcoded fix for / and \ on different OSes
YBoy-git Apr 5, 2024
9a7736e
Merge branch 'alpha' of github.com:YBoy-git/wTools into will_features
YBoy-git Apr 8, 2024
7c38362
Implement feature command
YBoy-git Apr 8, 2024
3b2355e
Add with_features_deps property for .features
YBoy-git Apr 8, 2024
a262ead
add join_path function
SupperZum Apr 8, 2024
28f7402
add change_ext
SupperZum Apr 9, 2024
4e2693b
Tests for .features
YBoy-git Apr 24, 2024
011c89b
Merge branch 'alpha' of github.com:YBoy-git/wTools into will_features
YBoy-git Apr 24, 2024
45c2d82
Merge branch 'alpha' into join_path
SupperZum May 1, 2024
a9db89a
Merge remote-tracking branch 'upstream/alpha' into join_path
SupperZum May 1, 2024
33204fc
Merge remote-tracking branch 'upstream/alpha' into change_ext
SupperZum May 1, 2024
3797032
upd
SupperZum May 1, 2024
4210ec0
Merge branch 'alpha' into join_path
SupperZum May 1, 2024
8faea41
Merge branch 'alpha' into change_ext
SupperZum May 1, 2024
9aac97e
Merge branch 'alpha' into join_path
SupperZum May 6, 2024
d19d8b3
Merge remote-tracking branch 'upstream/alpha' into change_ext
SupperZum May 6, 2024
5ae3ef6
upd
SupperZum May 6, 2024
76a0f00
Merge remote-tracking branch 'upstream/alpha' into join_path
SupperZum May 10, 2024
226241c
Merge remote-tracking branch 'upstream/alpha' into change_ext
SupperZum May 10, 2024
c4f7b3d
upd
SupperZum May 10, 2024
6bae1d4
upd
SupperZum May 10, 2024
a3845a2
data_type : fix issue with tests, refactoring
Wandalen May 12, 2024
adcdf01
program_tools : draft
Wandalen May 12, 2024
e646ede
collection_tools-v0.5.0
Wandalen May 12, 2024
474d61f
interval_adapter-v0.20.0
Wandalen May 12, 2024
d649b48
program_tools : draft
Wandalen May 12, 2024
536a936
program_tools : draft
Wandalen May 12, 2024
dffdc2e
program_tools : evolve
Wandalen May 12, 2024
63f1299
program_tools : evolve
Wandalen May 12, 2024
1664214
former : scalar subformer wip
Wandalen May 12, 2024
36195cc
former : refactor tests
Wandalen May 12, 2024
6bb0e0a
former : refactor
Wandalen May 12, 2024
edc1128
former : refactor
Wandalen May 12, 2024
6342c93
former : refactor
Wandalen May 12, 2024
4b6594d
former : refactor
Wandalen May 12, 2024
13f364b
former : refactor
Wandalen May 12, 2024
bb7f868
former : introducing subform_scalar
Wandalen May 12, 2024
3a46150
former : introducing subform_scalar
Wandalen May 12, 2024
fe4490f
former : introducing subform_scalar
Wandalen May 12, 2024
82dd841
former : introducing subform_scalar
Wandalen May 12, 2024
d5fbe32
former : introducing subform_scalar
Wandalen May 12, 2024
8d698aa
former : improving hints
Wandalen May 12, 2024
c86a53d
former : improving hints
Wandalen May 12, 2024
c897ec3
former : improving hints
Wandalen May 12, 2024
7dbf115
former : improving hints and cleaning
Wandalen May 12, 2024
401a6bd
former : introduce subform_scalar ready
Wandalen May 12, 2024
9772104
fix
SupperZum May 12, 2024
981429a
fix
SupperZum May 12, 2024
9577845
Added a return symbol to the status output
Barsik-sus May 13, 2024
dae28cc
Separate file for each collection, tests reorganization, remove colle…
YBoy-git May 13, 2024
7cb25cd
Improved documentation for modules: clarified descriptions and attrib…
Barsik-sus May 13, 2024
9e6e05a
fix
SRetip May 13, 2024
17e960b
Merge pull request #1323 from Wandalen/audit
Wandalen May 13, 2024
317316a
Merge pull request #1324 from Barsik-sus/willbe-publish-fix-output
Wandalen May 13, 2024
aa59cd7
Merge pull request #1328 from Barsik-sus/wca-documentation
Wandalen May 13, 2024
070a33b
Merge pull request #1288 from SupperZum/join_path
Wandalen May 13, 2024
ba0a0cd
Merge pull request #1329 from SRetip/wf_fix
Wandalen May 13, 2024
e1fde20
Merge remote-tracking branch 'upstream/alpha' into change_ext
SupperZum May 13, 2024
5eb9939
Merge pull request #1293 from SupperZum/change_ext
Wandalen May 13, 2024
621003e
Merge pull request #1327 from YBoy-git/collection_tools_refactoring
Wandalen May 13, 2024
87f228e
Logic for bumping of a crate version has been changed
Barsik-sus May 13, 2024
e4fc7c7
workflow changes
SRetip May 14, 2024
e5e5e97
command & test changes
SRetip May 14, 2024
b035dd0
Merge pull request #1331 from Barsik-sus/willbe-publish-bump-logic
Wandalen May 14, 2024
d9ca5c9
rename
SRetip May 14, 2024
488505c
collection_tools-v0.6.0
Wandalen May 14, 2024
6a80444
former-v2.0.0
Wandalen May 14, 2024
219d81b
add description & change badge
SRetip May 14, 2024
a8deb21
experiment
Wandalen May 14, 2024
63b6dc4
former_meta-v1.1.0
Wandalen May 14, 2024
d3e810a
former_meta : 2.0
Wandalen May 14, 2024
2c9315a
derive_tools-v0.22.0
Wandalen May 14, 2024
8dbd8ee
mod_interface_meta-v0.19.0
Wandalen May 14, 2024
c917c49
mod_interface-v0.19.0
Wandalen May 14, 2024
4e3f55a
proper_path_tools-v0.5.0
Wandalen May 14, 2024
b8203ec
process_tools-v0.4.0
Wandalen May 14, 2024
6bac890
crates_tools-v0.9.0
Wandalen May 14, 2024
e4f7365
strs_tools-v0.12.0
Wandalen May 14, 2024
9c9260f
tasks
Wandalen May 14, 2024
d5df3f3
improve description
SRetip May 14, 2024
5bf6c76
Provided new functionality to retry publication attempts
Barsik-sus May 14, 2024
5f52ee8
Merge pull request #1334 from Barsik-sus/willbe-publish-retry
Wandalen May 14, 2024
d0846ab
wca-v0.16.0
Wandalen May 14, 2024
f198c3e
willbe-v0.10.0
Wandalen May 14, 2024
f7c9f19
Fix former tests
YBoy-git May 14, 2024
56c088a
Merge branch 'alpha' of github.com:YBoy-git/wTools into will_features
YBoy-git May 14, 2024
e3ea536
program_tools : evolve
Wandalen May 14, 2024
b07f934
program_tools : evolve
Wandalen May 14, 2024
15be055
program_tools : evolve
Wandalen May 14, 2024
ba8c455
program_tools : evolve
Wandalen May 14, 2024
3199e0b
will .features reorganization
YBoy-git May 14, 2024
98a0e90
macro_tools : fix problem with generating phantom, using absolute nam…
Wandalen May 14, 2024
91e8ea0
former : better name collision coverage
Wandalen May 14, 2024
7c05536
Merge pull request #1281 from YBoy-git/will_features
Wandalen May 14, 2024
b0c751c
Merge pull request #1336 from Wandalen/program_tools_v1
Wandalen May 14, 2024
be6fde1
Replace !no_std with !no_std OR use_alloc where possible
YBoy-git May 14, 2024
71147de
Merge branch 'alpha' of github.com:YBoy-git/wTools into former_fix_tests
YBoy-git May 14, 2024
1c14fe3
program_tools : evolve
Wandalen May 14, 2024
9806451
derive_tools : from for variants : initial test
Wandalen May 14, 2024
51daee2
derive_tools : rid off alias FromInner
Wandalen May 14, 2024
a3a2a52
Merge pull request #1332 from SRetip/qqq_fixes
Wandalen May 14, 2024
42716ac
Merge pull request #1335 from YBoy-git/former_fix_tests
Wandalen May 14, 2024
33ce102
derive_tools : tasks
Wandalen May 14, 2024
c39b70c
Merge pull request #1337 from Wandalen/program_tools_v1
Wandalen May 14, 2024
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
133 changes: 133 additions & 0 deletions .github/workflows/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# healthtable

[healthtable](../../Readme.md) - in addition to information about modules, their stability contains the results of CI/CD of the master and alpha branches.

# for_pr_rust_push.yml

actions:
- install stable rust
- install nightly rust
- install willbe
- run tests with all features, but only on stable toolchain and in debug optimization mode

Groups creates by strategy:
```yml
for_pr_rust_push_${{ inputs.module_name }}_${{ github.ref }}_
${{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }}
```

inputs.module_name - name of module
github.ref - name of branch
{{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }} - returns true if commit message contains directive `+test` or starts with `merge` word.

runs if commit message contains directive `+test` or starts with `merge` word.

# standard_rust_push.yml

actions:
- install stable rust
- install nightly rust
- install cargo-udeps
- install cargo-audit
- checks crate with cargo-udeps
- checks crete with cargo-audit
- install willbe
- run tests with all features, with stable and nightly toolchain, with release and debug optimization mode

Groups creates by strategy:
```yml
standard_rust_push_${{ inputs.module_name }}_${{ github.ref }}_
${{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }}
```

inputs.module_name - name of module
github.ref - name of branch
{{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }} - returns true if commit message contains directive `+test` or starts with `merge` word.

runs if commit message contains directive `+test` or starts with `merge` word.

# standard_rust_pool_request.yml

actions:
- call [for_pr_rust_push.yml](#for_pr_rust_pushyml) for all project.

# standard_rust_schedule.yml

actions:
- call [standard_rust_push.yml](#standard_rust_pushyml) for `{module_name}` every day at 1:00 a.m.

Affects badges in the header of the workspace readme.md file, looks like this [![wTools](https://img.shields.io/github/actions/workflow/status/Wandalen/wTools/standard_rust_scheduled.yml?label=master&logo=github&branch=master)](https://github.com/Wandalen/wTools/actions/workflows/standard_rust_scheduled.yml).

# module_{module_name}_push.yml

actions:
- call [standard_rust_push.yml](#standard_rust_pushyml) for `{module_name}`.

Affects badges that are opposite to modules in the **[healthtable](#healthtable)**, as well as badges in the header of the crate readme.md files.


# appropriate_branch.yml

This workflow ensures that pull requests are opened against the correct target branches based on a predefined branching strategy (alpha -> beta -> master). It checks whether the destination branch specified in the pull request matches the expected branch according to the branching strategy. If it doesn't match, the pull request is converted to draft mode, and if it still doesn't match, the workflow fails.

# appropriate_branch_beta.yml

This workflow delegates the actual validation and actions to another workflow file (appropriate_branch.yml) located in the Wandalen/wTools repository under .github/workflows directory on the "alpha" branch. It ensures that pull requests targeting the "beta" branch are appropriately validated and processed according to the rules defined in the external workflow file.

# appropriate_branch_master.yml

Similar to the previous workflow, this one also delegates the validation and processing of pull requests to an external workflow file (appropriate_branch.yml) located in the Wandalen/wTools repository under the .github/workflows directory on the "alpha" branch.
By specifying the "beta" branch as the source branch and dynamically referencing the base branch of the pull request as the destination branch, this workflow ensures that pull requests targeting the "main" or "master" branches are appropriately validated and processed according to the rules defined in the external workflow file.
This setup promotes consistency and reusability of workflow logic across different branches within the repository, helping to maintain a standardized process for handling pull requests.

# auto_merge_to_beta.yml

This workflow automates the process of merging changes from the "alpha" branch into the "beta" branch after ensuring that related workflow runs for modules have completed successfully.
It waits for the completion of workflow runs related to modules and checks their statuses before proceeding with the merge process.
If all checks pass, it merges the changes into the "beta" branch using the provided GitHub token.

# auto_pr.yml

This workflow automates the process of opening pull requests between specified source and destination branches.
Upon triggering, it checks out the repository and opens a pull request from the source branch (src_branch) to the destination branch (dst_branch).
The pull request title is automatically generated to indicate that it's an automated pull request forwarding from one branch to another.
If a pull request already exists between the specified branches and PASS_IF_EXISTS is set to true, the action will pass without creating a new pull request.

# auto_pr_to_alpha.yml

This workflow automates the process of opening pull requests from any branch except for those explicitly excluded to the "alpha" branch.
It leverages branch filtering to include all branches and exclude specific ones such as master, main, alpha, beta, and any branches containing test or experiment in their names.
When triggered by a push event on a qualifying branch, it calls the external workflow (auto_pr.yml) to handle the process of opening a pull request to the "alpha" branch, passing the source and destination branch information along with the GitHub bot token for authentication.

# auto_pr_to_beta.yml

This workflow automates the process of opening pull requests from the "alpha" branch to the "beta" branch.
When triggered by a push event on the "alpha" branch, it calls the external workflow (auto_pr.yml) to handle the process of opening a pull request to the "beta" branch, passing the source and destination branch information along with the GitHub bot token for authentication.

# auto_pr_to_master.yml

This workflow automates the process of opening pull requests from the "beta" branch to the "master" branch.
When triggered by a push event on the "beta" branch, it calls the external workflow (auto_pr.yml) to handle the process of opening a pull request to the "master" branch, passing the source and destination branch information along with the GitHub bot token for authentication.

# runs_clean.yml

This workflow allows manual triggering to clean up workflow runs in the repository.
It first deletes any runs that have been cancelled or skipped, ensuring that they do not clutter the workflow history.
Then, it deletes runs older than a specified number of days, while ensuring that at least 20 runs are preserved regardless of their age.
By regularly cleaning up older workflow runs, this workflow helps maintain a clean and organized workflow history in the repository.

# standard_rust_status.yml

This workflow serves as a status monitor for the completion of specific workflows: "auto_merge_to_beta" and "rust_scheduled."
Upon completion of any of these workflows, it checks the status of their runs.
It employs a matrix strategy to iterate over different workflow files to check their statuses.
If the conclusion of any checked workflow run is "failure," "cancelled," or "skipped," the workflow exits with an error, indicating a problem.

# status_checks_rules_update.yml

When a pull request is opened targeting branches "alpha" or "beta":
- If the base branch is "beta":
- It compares the contents of the workflow directories between branches "alpha" and "beta".
- If they are not equal, it triggers an update of branch protection rules for the "beta" branch.
- If the base branch is "alpha":
- It directly triggers an update of branch protection rules for the "alpha" branch with specific required status checks for different contexts.
72 changes: 72 additions & 0 deletions .github/workflows/for_pr_rust_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@

name : for_pr_push

on :

workflow_call :
inputs :
manifest_path :
required : true
type : string
module_name :
required : true
type : string
commit_message :
required : true
type : string
with_smoke :
required : false
type : string
default : true

concurrency :

group : for_pr_rust_push_${{ inputs.module_name }}_${{ github.ref }}_
${{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }}
cancel-in-progress : true

env :

RUST_BACKTRACE : 1
CARGO_TERM_COLOR : always
WITH_SMOKE : ${{ inputs.with_smoke }}

jobs :

will_test :
if : contains( inputs.commit_message, '+test' ) || contains( inputs.commit_message, 'merge' )
concurrency :
group : for_pr_rust_push_${{ inputs.module_name }}_${{ github.ref }}_${{ matrix.os }}
cancel-in-progress : true
strategy :
fail-fast : false
matrix :
os : [ ubuntu-latest, windows-latest, macos-latest ]
runs-on : ${{ matrix.os }}
steps :
- name : Install latest stable toolchain
uses : Wandalen/wretry.action/main@master
with :
action : actions-rs/toolchain@v1
with : |
toolchain : stable
override : true
attempt_limit : 3
attempt_delay: 10000
- name: Install latest nightly toolchain
uses: Wandalen/wretry.action/main@master
with:
action: actions-rs/toolchain@v1
with: |
toolchain : nightly
override : true
attempt_limit: 3
attempt_delay: 10000
- uses: actions/checkout@v3
- name: Install will
run: cargo install --git https://github.com/Wandalen/wTools --branch alpha willbe
- name: Set MANIFEST_ROOT_PATH
id: rootpath
run: echo "::set-output name=path::$(dirname ${{ inputs.manifest_path }})"
- name: Run tests with each feature
run: will .test ${{ steps.rootpath.outputs.path }}/ dry:0 exclude:'' with_all_features:1 with_debug:1 with_nightly:0 with_none_features:1 with_release:0 with_stable:1
23 changes: 23 additions & 0 deletions .github/workflows/module_program_tools_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name : program_tools

on :
push :
branches :
- 'alpha'
- 'beta'
- 'master'


env :
CARGO_TERM_COLOR : always

jobs :

# program_tools

test :
uses : Wandalen/wTools/.github/workflows/standard_rust_push.yml@alpha
with :
manifest_path : 'module/core/program_tools/Cargo.toml'
module_name : 'program_tools'
commit_message : ${{ github.event.head_commit.message }}
23 changes: 23 additions & 0 deletions .github/workflows/module_rustql_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name : rustql

on :
push :
branches :
- 'alpha'
- 'beta'
- 'master'


env :
CARGO_TERM_COLOR : always

jobs :

# rustql

test :
uses : Wandalen/wTools/.github/workflows/standard_rust_push.yml@alpha
with :
manifest_path : 'module/blank/rustql/Cargo.toml'
module_name : 'rustql'
commit_message : ${{ github.event.head_commit.message }}
3 changes: 2 additions & 1 deletion .github/workflows/standard_rust_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@ jobs :
tested :
needs: check
if : ${{ needs.check.outputs.should_run == 'true' }}
uses : Wandalen/wTools/.github/workflows/standard_rust_push.yml@alpha
uses : Wandalen/wTools/.github/workflows/for_pr_rust_push.yml@alpha
with :
manifest_path : './Cargo.toml'
module_name : ${{ github.event.base.ref }}_${{ github.event.number }}
commit_message : "+test_${{ github.event.base.ref }}_${{ github.event.number }}"
with_smoke : false
3 changes: 1 addition & 2 deletions .github/workflows/standard_rust_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ on :
concurrency :

group : standard_rust_push_${{ inputs.module_name }}_${{ github.ref }}_
${{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'Merge' ) || contains( inputs.commit_message, inputs.module_name ) }}_
${{ !contains( inputs.commit_message, '!only_js' )}}
${{ contains( inputs.commit_message, '+test' ) || startsWith( inputs.commit_message, 'merge' ) }}
cancel-in-progress : true

env :
Expand Down
28 changes: 14 additions & 14 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ default-features = false
# path = "module/core/type_constructor_derive_pair_meta"

[workspace.dependencies.interval_adapter]
version = "~0.19.0"
version = "~0.20.0"
path = "module/core/interval_adapter"
default-features = false
features = [ "enabled" ]
Expand All @@ -104,15 +104,15 @@ default-features = false
features = [ "enabled" ]

[workspace.dependencies.collection_tools]
version = "~0.4.0"
version = "~0.6.0"
path = "module/core/collection_tools"
default-features = false


## derive

[workspace.dependencies.derive_tools]
version = "~0.21.0"
version = "~0.22.0"
path = "module/core/derive_tools"
default-features = false
features = [ "enabled" ]
Expand Down Expand Up @@ -200,17 +200,17 @@ path = "module/core/for_each"
default-features = false

[workspace.dependencies.former]
version = "~1.0.0"
version = "~2.0.0"
path = "module/core/former"
default-features = false

[workspace.dependencies.former_stable]
package = "former"
version = "=0.15.0"
version = "=2.0.0"
default-features = false

[workspace.dependencies.former_meta]
version = "~1.0.0"
version = "~2.0.0"
path = "module/core/former_meta"
default-features = false

Expand All @@ -224,12 +224,12 @@ version = "~0.7.0"
path = "module/core/impls_index_meta"

[workspace.dependencies.mod_interface]
version = "~0.18.0"
version = "~0.19.0"
path = "module/core/mod_interface"
default-features = false

[workspace.dependencies.mod_interface_meta]
version = "~0.18.0"
version = "~0.19.0"
path = "module/core/mod_interface_meta"
default-features = false

Expand Down Expand Up @@ -321,7 +321,7 @@ path = "module/alias/werror"
## string tools

[workspace.dependencies.strs_tools]
version = "~0.11.0"
version = "~0.12.0"
path = "module/core/strs_tools"
default-features = false

Expand All @@ -343,15 +343,15 @@ path = "module/alias/file_tools"
default-features = false

[workspace.dependencies.proper_path_tools]
version = "~0.4.0"
version = "~0.5.0"
path = "module/core/proper_path_tools"
default-features = false


## process tools

[workspace.dependencies.process_tools]
version = "~0.3.0"
version = "~0.4.0"
path = "module/core/process_tools"
default-features = false

Expand Down Expand Up @@ -398,7 +398,7 @@ default-features = false
## ca

[workspace.dependencies.wca]
version = "~0.15.0"
version = "~0.16.0"
path = "module/move/wca"


Expand All @@ -412,7 +412,7 @@ path = "module/move/wcensor"
## willbe

[workspace.dependencies.willbe]
version = "~0.9.0"
version = "~0.10.0"
path = "module/move/willbe"


Expand Down Expand Up @@ -452,7 +452,7 @@ version = "~0.5.0"
path = "module/move/deterministic_rand"

[workspace.dependencies.crates_tools]
version = "~0.8.0"
version = "~0.9.0"
path = "module/move/crates_tools"


Expand Down
Loading
Loading