Skip to content

[ci] publish package - debug - remove check is client python #17

[ci] publish package - debug - remove check is client python

[ci] publish package - debug - remove check is client python #17

name: Publish package
on:
workflow_call:
inputs:
is_client_python_local:
description: "Use client python from the same commit"
type: boolean
required: false
default: false
is_publish_jfrog:
description: "Publish package artifact to jfrog"
type: boolean
required: false
default: false
jobs:
generate_package_name:
runs-on: ubuntu-latest
outputs:
package_name: ${{ steps.package_name.outputs.value }}
steps:
- name: Generate package name
id: package_name
run: echo "value=opencti-$(date +%Y%m%d)" >> $GITHUB_OUTPUT
build_package_debian:
name: Build package debian
runs-on: ubuntu-latest
needs: generate_package_name
steps:
- name: OpenCTI checkout
uses: actions/checkout@v6
- name: Build OpenCTI on debian
run: |
IS_CLIENT_LOCAL=${{ inputs.is_client_python_local }}
docker run --name build-package \
-v ${{ github.workspace }}:/home/workspace \
nikolaik/python-nodejs:python3.11-nodejs22 \
sh -c "set -eux
cd /home/workspace
apt-get update --allow-insecure-repositories --allow-unauthenticated && apt-get install -y build-essential libffi-dev curl g++ make python3 python3-dev
npm install -g node-gyp
find . -name requirements.txt -exec sed 's|^pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti@${{ github.ref_name }}#subdirectory=client-python|' -i {} \;
cd opencti-platform/opencti-graphql
yarn install
yarn build
"

Check failure on line 51 in .github/workflows/cd-publish-package.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/cd-publish-package.yml

Invalid workflow file

You have an error in your yaml syntax on line 51
- name: Prepare OpenCTI debian package
run: |
set -eux
sudo apt-get update -qq && sudo apt install curl
mkdir release
rm -Rf ./opencti-platform/opencti-graphql/.yarn/cache
cp -a ./opencti-platform/opencti-graphql release/opencti
cp -a ./opencti-platform/.yarnrc.yml release/opencti/
cp -a ./opencti-worker/src release/opencti/worker
git clone https://github.com/OpenCTI-Platform/docker release/opencti/docker
git clone https://github.com/OpenCTI-Platform/connectors release/opencti/connectors
cd release
tar -zcvf "${{ needs.generate_package_name.outputs.package_name }}.tar.gz" opencti
if [ "${{ inputs.is_publish_jfrog }}" == "true" ]; then
# curl -usamuel.hassine@filigran.io:${{ secrets.JFROG_TOKEN }} -T opencti-$(date '+%Y%m%d').tar.gz "https://filigran.jfrog.io/artifactory/opencti/opencti-$(date '+%Y%m%d').tar.gz"
fi
- name: Upload OpenCTI debian package
uses: actions/upload-artifact@v5
with:
name: opencti-debian
path: release/${{ needs.generate_package_name.outputs.package_name }}.tar.gz
retention-days: 1
build_package_musl:
name: Build package musl
runs-on: ubuntu-latest
needs: generate_package_name
steps:
- name: OpenCTI checkout
uses: actions/checkout@v6
- name: Generate musl package name
id: package_name
run: echo "value=opencti-$(date +%Y%m%d)_musl" >> $GITHUB_OUTPUT
- name: Build OpenCTI on alpine musl
run: |
IS_CLIENT_LOCAL=${{ inputs.is_client_python_local }}
docker run --name build-package \
-v ${{ github.workspace }}:/home/workspace \
nikolaik/python-nodejs:python3.11-nodejs22-alpine \
sh -c "set -eux
cd /home/workspace
apk update && apk upgrade && apk --no-cache add git tini gcc g++ make musl-dev python3 python3-dev postfix postfix-pcre build-base libmagic libffi-dev curl
npm install -g node-gyp
if [ '${IS_CLIENT_LOCAL}' = 'true' ]; then
echo 'Updating requirements.txt to use pycti from ${{ github.ref_name }}'
find . -name requirements.txt -exec sed 's|^pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti@${{ github.ref_name }}#subdirectory=client-python|' -i {} \;
fi
cd opencti-platform/opencti-graphql
yarn install
yarn build
"
- name: Prepare OpenCTI musl package
run: |
set -eux
sudo apt-get update -qq && sudo apt install curl
mkdir release
rm -Rf ./opencti-platform/opencti-graphql/.yarn/cache
cp -a ./opencti-platform/opencti-graphql release/opencti
cp -a ./opencti-platform/.yarnrc.yml release/opencti/
cp -a ./opencti-worker/src release/opencti/worker
git clone https://github.com/OpenCTI-Platform/docker release/opencti/docker
git clone https://github.com/OpenCTI-Platform/connectors release/opencti/connectors
cd release
tar -zcvf "${{ needs.generate_package_name.outputs.package_name }}.tar.gz" opencti
if [ "${{ inputs.is_publish_jfrog }}" == "true" ]; then
# curl -usamuel.hassine@filigran.io:${{ secrets.JFROG_TOKEN }} -T opencti-$(date '+%Y%m%d').tar.gz "https://filigran.jfrog.io/artifactory/opencti/opencti-$(date '+%Y%m%d').tar.gz"
fi
- name: Upload OpenCTI musl package
uses: actions/upload-artifact@v5
with:
name: opencti-musl
path: release/${{ needs.generate_package_name.outputs.package_name }}.tar.gz
retention-days: 1