Skip to content

Commit

Permalink
build based on 8278b1a
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Sep 27, 2023
1 parent afbdabf commit 2f5294d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-09-27T07:25:37","documenter_version":"1.0.1"}}
{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-09-27T07:49:42","documenter_version":"1.0.1"}}
2 changes: 1 addition & 1 deletion dev/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@

If you pass a 0, it has a special meaning.

CI_INTG_PKG_URL_DEP1JL: https://github.com/user1/dep1.jl#45a723b</code></pre><p>It is also possible to set a custom URL for more than one package, which depends on <code>orig</code>. Simple add an additional line with the shape of <code>CI_INTG_PKG_URL_&lt;dep_name&gt;: https://github.com/&lt;user&gt;/&lt;dep_name&gt;#&lt;commit_hash&gt;</code> to the commit message.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You don&#39;t need to add a new commit to set custom URLs. You can modify the commit message with <code>git commit --amend</code> and force push to the branch. This also starts the CI pipeline again.</p></div></div><h1 id="Integration-Test-for-CI-Develops"><a class="docs-heading-anchor" href="#Integration-Test-for-CI-Develops">Integration Test for CI Develops</a><a id="Integration-Test-for-CI-Develops-1"></a><a class="docs-heading-anchor-permalink" href="#Integration-Test-for-CI-Develops" title="Permalink"></a></h1><p>This section explains how the integration tests are created and executed. It is not mandatory to read the section if you only want to use the CI. The following figure shows the stages of the CI pipeline:</p><p><img src="integration_jobs_pipeline.svg" alt="detailed CI pipeline of the integration tests"/></p><p>All of the following stages are executed in the CI pipeline of the sub-package, where the code is modified. This means also, that GitLab CI automatically checks out the repository with the changes of the pull request and provides it in the CI job. We name the package <code>orig</code> for easier understanding of the documentation.</p><ul><li><strong>Stage: Integration Tests</strong>: Execute the unit tests of <code>orig</code> via <code>Pkg.test()</code>.</li><li><strong>Stage: Generate integration Tests</strong>: Download the <code>jobGenerator.jl</code> script from the <code>QED.jl</code> package via <code>git clone</code>. The script is executed with the name of the subpackage <code>orig</code>. The script traverses the dependency tree of the <code>QED.jl</code> and it is searching for sub-packages which has a dependency of package <code>orig</code>. For each package with the dependency of package <code>orig</code>, the generator generates a job yaml. By default, it uses the upstream repository and development branch of the package tested in the integration test. The repository and commit can be changed via the environment parameter in the git commit message. The <code>jobGenerator.jl</code> uses the <code>Package.toml</code> of the <code>QED.jl</code> package because all sub-packages are direct and indirect dependencies of it.</li><li><strong>Stage: Run Integration Tests</strong>: This stage uses the generated job yaml to create and run new test jobs. It uses the <a href="https://about.gitlab.com/blog/2020/04/24/parent-child-pipelines/#dynamically-generating-pipelines">GitLab CI child pipeline</a> mechanism.</li><li><strong>Stage: Integration Tests of Sub package N</strong>: Each job clones the repository of the subpackage. After the clone, it uses the Julia function <code>Pkg.develop(path=&quot;$CI_package_DIR&quot;)</code> to replace the dependency to the package <code>orig</code> with the modified version of the Pull Request and execute the tests of the subpackage via <code>Pkg.test()</code>.</li></ul><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>If a sub package triggers an integration test, the main package <code>QED.jl</code> is passive. It does not get any notification or trigger any script. The repository is simply cloned.</p></div></div><h1 id="Features-of-the-packages"><a class="docs-heading-anchor" href="#Features-of-the-packages">Features of the packages</a><a id="Features-of-the-packages-1"></a><a class="docs-heading-anchor-permalink" href="#Features-of-the-packages" title="Permalink"></a></h1><ul><li>calculate area of a cylinder</li><li>calculate site area of a cylinder</li><li>calculate volume of a cylinder</li></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.0.1 on <span class="colophon-date" title="Wednesday 27 September 2023 07:25">Wednesday 27 September 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
CI_INTG_PKG_URL_DEP1JL: https://github.com/user1/dep1.jl#45a723b</code></pre><p>It is also possible to set a custom URL for more than one package, which depends on <code>orig</code>. Simple add an additional line with the shape of <code>CI_INTG_PKG_URL_&lt;dep_name&gt;: https://github.com/&lt;user&gt;/&lt;dep_name&gt;#&lt;commit_hash&gt;</code> to the commit message.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You don&#39;t need to add a new commit to set custom URLs. You can modify the commit message with <code>git commit --amend</code> and force push to the branch. This also starts the CI pipeline again.</p></div></div><h1 id="Integration-Test-for-CI-Develops"><a class="docs-heading-anchor" href="#Integration-Test-for-CI-Develops">Integration Test for CI Develops</a><a id="Integration-Test-for-CI-Develops-1"></a><a class="docs-heading-anchor-permalink" href="#Integration-Test-for-CI-Develops" title="Permalink"></a></h1><p>This section explains how the integration tests are created and executed. It is not mandatory to read the section if you only want to use the CI. The following figure shows the stages of the CI pipeline:</p><p><img src="integration_jobs_pipeline.svg" alt="detailed CI pipeline of the integration tests"/></p><p>All of the following stages are executed in the CI pipeline of the sub-package, where the code is modified. This means also, that GitLab CI automatically checks out the repository with the changes of the pull request and provides it in the CI job. We name the package <code>orig</code> for easier understanding of the documentation.</p><ul><li><strong>Stage: Integration Tests</strong>: Execute the unit tests of <code>orig</code> via <code>Pkg.test()</code>.</li><li><strong>Stage: Generate integration Tests</strong>: Download the <code>jobGenerator.jl</code> script from the <code>QED.jl</code> package via <code>git clone</code>. The script is executed with the name of the subpackage <code>orig</code>. The script traverses the dependency tree of the <code>QED.jl</code> and it is searching for sub-packages which has a dependency of package <code>orig</code>. For each package with the dependency of package <code>orig</code>, the generator generates a job yaml. By default, it uses the upstream repository and development branch of the package tested in the integration test. The repository and commit can be changed via the environment parameter in the git commit message. The <code>jobGenerator.jl</code> uses the <code>Package.toml</code> of the <code>QED.jl</code> package because all sub-packages are direct and indirect dependencies of it.</li><li><strong>Stage: Run Integration Tests</strong>: This stage uses the generated job yaml to create and run new test jobs. It uses the <a href="https://about.gitlab.com/blog/2020/04/24/parent-child-pipelines/#dynamically-generating-pipelines">GitLab CI child pipeline</a> mechanism.</li><li><strong>Stage: Integration Tests of Sub package N</strong>: Each job clones the repository of the subpackage. After the clone, it uses the Julia function <code>Pkg.develop(path=&quot;$CI_package_DIR&quot;)</code> to replace the dependency to the package <code>orig</code> with the modified version of the Pull Request and execute the tests of the subpackage via <code>Pkg.test()</code>.</li></ul><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>If a sub package triggers an integration test, the main package <code>QED.jl</code> is passive. It does not get any notification or trigger any script. The repository is simply cloned.</p></div></div><h1 id="Features-of-the-packages"><a class="docs-heading-anchor" href="#Features-of-the-packages">Features of the packages</a><a id="Features-of-the-packages-1"></a><a class="docs-heading-anchor-permalink" href="#Features-of-the-packages" title="Permalink"></a></h1><ul><li>calculate area of a cylinder</li><li>calculate site area of a cylinder</li><li>calculate volume of a cylinder</li></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.0.1 on <span class="colophon-date" title="Wednesday 27 September 2023 07:49">Wednesday 27 September 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 comments on commit 2f5294d

Please sign in to comment.