diff --git a/.github/workflows/issue_to_jira.yml b/.github/workflows/issue_to_jira.yml new file mode 100644 index 00000000..64350558 --- /dev/null +++ b/.github/workflows/issue_to_jira.yml @@ -0,0 +1,22 @@ +name: Create JIRA issue + +on: + issues: + types: [opened] + +permissions: {} + +jobs: + call-workflow-create-jira-issue: + if: startsWith(github.repository, 'MiraGeoscience/') # run on the Mira repo only + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-issue_to_jira.yml@v3 + permissions: + contents: read + issues: write + with: + project-key: 'GEOPY' + components: '[{"name": "gempy"}]' + secrets: + JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} diff --git a/.github/workflows/pr_jira_actions.yml b/.github/workflows/pr_jira_actions.yml new file mode 100644 index 00000000..65299b54 --- /dev/null +++ b/.github/workflows/pr_jira_actions.yml @@ -0,0 +1,19 @@ +name: JIRA actions + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review, edited] + +jobs: + call-workflow-pr_jira_actions: + if: | # run on the Mira repo only + startsWith(github.repository, 'MiraGeoscience/') && + (github.event.action != 'edited' || github.event.changes.title != null) + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-pr_actions.yml@v3 + permissions: + contents: read + pull-requests: write + secrets: + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} + JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index 93b2f4a3..464468ed 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -20,11 +20,11 @@ jobs: id-token: write contents: write with: - package-name: 'gempy-engine' + package-name: gempy-engine python-version: '3.12' - source-repo-names: '["public-noremote-conda-dev"]' + recipe-path: conda.recipe/recipe.yaml conda-channels: '["conda-forge"]' - publish-repo-names: '["public-noremote-conda-dev"]' + publish-repo-names: '["gempy-noremote-conda-dev"]' build-experimental: true secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} @@ -37,11 +37,11 @@ jobs: id-token: write contents: write with: - package-manager: 'setuptools' - package-name: 'gempy-engine' + package-manager: setuptools + package-name: gempy-engine version-tag: ${{ github.ref_name }} python-version: '3.12' - virtual-repo-names: '["public-pypi-dev"]' + virtual-repo-names: '["gempy-pypi-dev"]' secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index d44b1d6c..ee30cb9a 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -36,7 +36,7 @@ jobs: id-token: write contents: write with: - virtual-repo-names: '["public-noremote-conda-prod"]' + virtual-repo-names: '["gempy-noremote-conda-prod"]' release-tag: ${{ github.event.release.tag_name || github.event.inputs.release-tag }} secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} @@ -52,7 +52,7 @@ jobs: contents: write with: package-name: 'gempy-engine' - virtual-repo-names: '["public-pypi-prod"]' + virtual-repo-names: '["gempy-pypi-prod"]' release-tag: ${{ github.event.release.tag_name || github.event.inputs.release-tag }} secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} diff --git a/.github/workflows/security_scan.yml b/.github/workflows/security_scan.yml new file mode 100644 index 00000000..63317b8f --- /dev/null +++ b/.github/workflows/security_scan.yml @@ -0,0 +1,44 @@ +name: Security Scan + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + branches: + - develop + - main + - release/** + - feature/** + - hotfix/** + push: + branches: + - develop + - main + - release/** + - feature/** + - hotfix/** + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + call-workflow-zizmor-annotate: + name: Zizmor analysis (advanced security) + # run on the Mira repo only + if: github.event_name != 'pull_request' + permissions: + security-events: write + contents: read + actions: read + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-advanced-security.yml@v3 + + call-workflow-zizmor-advanced-security: + name: Zizmor analysis (annotate) + if: github.event_name == 'pull_request' + permissions: + checks: write + contents: read + actions: read + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-annotate.yml@v3 diff --git a/recipe.yaml b/conda.recipe/recipe.yaml similarity index 99% rename from recipe.yaml rename to conda.recipe/recipe.yaml index f23eb61a..402f1ba2 100644 --- a/recipe.yaml +++ b/conda.recipe/recipe.yaml @@ -12,7 +12,7 @@ package: source: # url: https://pypi.org/packages/source/${{ name[0] }}/${{ name }}/gempy_engine-${{ version }}.tar.gz # sha256: - path: . + path: .. build: number: 0