Skip to content

Release v1.1.0#1163

Merged
narekhovhannisyan merged 36 commits intoreleasefrom
release-v1.1.0
Jul 21, 2025
Merged

Release v1.1.0#1163
narekhovhannisyan merged 36 commits intoreleasefrom
release-v1.1.0

Conversation

@github-actions
Copy link
Copy Markdown

What's Changed

New Contributors

Full Changelog: v1.0.2...v1.1.0

What's Changed

New Contributors

Full Changelog: v1.0.2...v1.1.0

narekhovhannisyan and others added 30 commits May 20, 2025 20:14
Create `if-api` to run `if-run` as an API server.

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
1. remove duplicate outputs

The following manifests were equivalent to each other, so the latter one is
removed.

- manifests/outputs/builtins/interpolation/success.yaml
  manifests/outputs/builtins/interpolation/interpolation.yaml
- manifests/outputs/features/regroup/failure-invalid-regroup.yaml
  manifests/outputs/features/failure-invalid-regroup.yaml
- manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml
  manifests/outputs/features/failure-missing-cloud-instance-type.yaml

2. remove `kind` from `initialize.plugins.*`

In the following manifests, there was an unnecessary property called `kind`
under `initialize.plugins.*`, so the property is removed.

- manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml
- manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml
- manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml
- manifests/examples/builtins/mock-observations/success.yml
- manifests/examples/builtins/sci/failure-invalid-config-value.yml
- manifests/examples/builtins/sci/failure-missing-input-param.yml
- manifests/examples/builtins/sci/success.yml
- manifests/examples/pipelines/pipeline-with-mocks.yml
- manifests/examples/pipelines/scenario-5.yml
- manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml
- manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml
- manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml
- manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml
- manifests/outputs/builtins/sci/failure-invalid-config-value.yaml
- manifests/outputs/builtins/sci/failure-missing-input-param.yaml

3. remove `output` from `initialize`

In the following manifest, there was an unnecessary property called `output`
under `initialize`, so the property is removed.

- manifests/examples/builtins/time-sync/failure-missing-config.yml
- manifests/examples/builtins/time-sync/success.yml
- manifests/outputs/builtins/time-sync/failure-missing-config.yaml
PR #1108 fixed the issue to prevent duplicate regrouping when the tree
has already been regrouped.
However, this fix caused only the first subtree to be executed when
regrouping needed to be performed on multiple subtrees.
Specifically, the execution results of the following manifests became
different from before:

- manifests/examples/pipelines/scenario-3.yml
- manifests/examples/pipelines/pipeline-with-aggregate.yml

This PR improves the method for checking if regrouping has been
completed and fixes it to correctly detect when regrouping needs to be
executed on multiple subtrees.

Additionally, it also adds the output results for the above two
manifests that were removed in PR #1037.

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
Although not directly related to this fix, the following sample output
related to regroup were also removed in PR #1037, so add it.

- manifests/outputs/features/regroup/success.yaml

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
Restore the following files from past history where output files exist
in `manifests/outputs` but corresponding input files don't exist in
`manifests/examples`.
(In parentheses are the commit hash where they were deleted and the
filename at that time)

- manifests/examples/bugs/aggregation-error-wrong-metric.yml
  (a5c9ad2 manifests/bugs/aggregation-error-wrong-metric.yml)
- manifests/examples/bugs/input-error-missing-duration.yml
  (a5c9ad2 manifests/bugs/input-error-missing-duration.yml)
- manifests/examples/bugs/mock-observations-failure-duration-is-zero.yml
  (a5c9ad2 manifests/bugs/mock-observations-failure-duration-is-zero.yml)
- manifests/examples/bugs/pipeline-error-naming-mismatch.yml
  (a5c9ad2 manifests/bugs/pipeline-error-naming-mismatch.yml)
- manifests/examples/bugs/pipeline-error-uninitialized-plugin.yml
  (a5c9ad2 manifests/bugs/pipeline-error-uninitialized-plugin.yml)
- manifests/examples/bugs/pipeline-ordering-error.yml
  (a5c9ad2 manifests/bugs/pipeline-ordering-error.yml)
- manifests/examples/features/aggregate-failure-invalid-metrics.yml
  (a5c9ad2 manifests/features/aggregate-failure-invalid-metrics.yml)
- manifests/examples/features/aggregate-failure-missing-metric-in-inputs.yml
  (a5c9ad2 manifests/features/aggregate-failure-missing-metric-in-inputs.yml)
- manifests/examples/features/aggregate-horizontal.yml
  (a5c9ad2 manifests/features/aggregate-horizontal.yml)
- manifests/examples/features/aggregate-vertical.yml
  (a5c9ad2 manifests/features/aggregate-vertical.yml)
- manifests/examples/features/aggregate.yml
  (a5c9ad2 manifests/features/aggregate.yml)
- manifests/examples/pipelines/cloud-metadata-divide.yml
  (a5c9ad2 manifests/integrations/cloud-metadata-divide.yml)
- manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml
  (b2c4f22 manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml)
- manifests/examples/builtins/divide/success-denominator-equal-zero.yml
  (1f60948 manifests/examples/builtins/divide/failure-denominator-equal-zero.yml)

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
Create a `Dockerfile` to run `if-api` as a container.

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
chore(manifests): restore sample manifests
Create a helm chart for deploying the container to Kubernetes.

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
Signed-off-by: Yasumasa Suenaga <yasuenag@gmail.com>
Signed-off-by: mouhamadalmounayar <muhammad.mnayar@gmail.com>
Signed-off-by: mouhamadalmounayar <muhammad.mnayar@gmail.com>
Signed-off-by: mouhamadalmounayar <muhammad.mnayar@gmail.com>
Signed-off-by: mouhamadalmounayar <muhammad.mnayar@gmail.com>
Add GHA workflow to publish Web API container image
Signed-off-by: Yasumasa Suenaga <yasuenag@gmail.com>
Add GHA workflow to publish Helm Chart
Signed-off-by: Arne Tarara <arne@datafuse.de>
…lities-plus-release

Fix vulnerabilities plus release
Comment on lines +65 to +93
needs: [ final-check-before-release ]
runs-on: ubuntu-latest
steps:
- name: Download source tree for the release
uses: actions/download-artifact@v4
with:
name: src
path: ${{ github.workspace }}

- name: Publish to npm (pre-release)
if: env.IS_PRE_RELEASE == 'true'
run: npm publish --tag beta
- name: Extract source tree
run: tar xfz src.tar.gz

- name: Initialize npm config
run: npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish to npm
if: env.IS_PRE_RELEASE == 'false'
run: npm publish
run: |
CMD="npm publish"
if [ "${{ needs.final-check-before-release.outputs.is-pre-release }}" == 'true' ]; then
CMD="$CMD --tag beta"
fi
$CMD
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

release-container-image:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}

Copilot Autofix

AI 9 months ago

To fix the problem, we should add an explicit permissions block either at the workflow root (to apply to all jobs by default), or at the job level for each job that does not already set permissions. Since release-container-image already sets packages: write, the main jobs of concern are final-check-before-release and release-publish-npm.

The safest and most maintainable approach is to set a restrictive default (contents: read) at the workflow root. This way, all jobs get minimum permissions unless they need more and set their own permissions block (as release-container-image already does). This aligns with GitHub and CodeQL recommendations.

Implementation steps:

  • Add the following at the top-level of the workflow (after the name: field, before or after on:):
    permissions:
      contents: read
  • No additional imports or methods are needed.

Suggested changeset 1
.github/workflows/release-publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml
--- a/.github/workflows/release-publish.yml
+++ b/.github/workflows/release-publish.yml
@@ -1,3 +1,5 @@
+permissions:
+  contents: read
 name: Release publish NPM / container image
 on:
   push:
EOF
@@ -1,3 +1,5 @@
permissions:
contents: read
name: Release publish NPM / container image
on:
push:
Copilot is powered by AI and may make mistakes. Always verify output.
@narekhovhannisyan narekhovhannisyan merged commit 2c1dbd8 into release Jul 21, 2025
4 checks passed
@narekhovhannisyan narekhovhannisyan deleted the release-v1.1.0 branch July 21, 2025 14:25
@github-project-automation github-project-automation bot moved this to Done in IF Jul 21, 2025
@YaSuenag
Copy link
Copy Markdown
Member

Big thanks to team to release v1.1.0! I'm happy to see that.

@jmcook1186 @narekhovhannisyan Could you kick https://github.com/Green-Software-Foundation/if/blob/main/.github/workflows/publish-helm-chart.yml to publish Helm chart? As I mentioned in #1154 , it should be kicked manually.

narekhovhannisyan added a commit that referenced this pull request Jul 25, 2025
Merge pull request #1163 from Green-Software-Foundation/release-v1.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants