From 30b5912c33f31107a79be487c38c352d04650449 Mon Sep 17 00:00:00 2001 From: emalfroy Date: Mon, 22 Jan 2024 09:24:30 +0100 Subject: [PATCH] ci: publish suspicious cases nuget --- .github/workflows/release.yml | 579 ++++++++++++++++++++++++++++++++++ build.fsx | 97 +----- 2 files changed, 588 insertions(+), 88 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..abf42d56 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,579 @@ +name: Release + +on: + workflow_dispatch: + +concurrency: Release + +jobs: + set-release-version: + if: github.repository_owner == 'Informatievlaanderen' + name: Decide next version + runs-on: ubuntu-latest + outputs: + version: ${{ steps.set-version.outputs.version }} + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + persist-credentials: false + + - name: Setup Node.js + uses: actions/setup-node@v3.5.1 + + - name: Node version + shell: bash + run: node --version + + - name: Install NPM dependencies + shell: bash + run: npm ci + + - name: Run Semantic Release Dry-Run + shell: bash + run: npx semantic-release --dry-run + env: + BUILD_DOCKER_REGISTRY: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_TST }} + GITHUB_TOKEN: ${{ secrets.VBR_GIT_RELEASE_TOKEN }} + GIT_COMMIT: ${{ github.sha }} + GIT_USERNAME: ${{ secrets.VBR_GIT_USER }} + GIT_AUTHOR_NAME: ${{ secrets.VBR_GIT_USER }} + GIT_COMMITTER_NAME: ${{ secrets.VBR_GIT_USER }} + GIT_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + GIT_AUTHOR_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + GIT_COMMITTER_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + + - name: Set Release Version + id: set-version + run: | + [ ! -f semver ] && echo none > semver + echo $(cat semver) + echo ::set-output name=version::$(cat semver) + echo RELEASE_VERSION=$(cat semver) >> $GITHUB_ENV + shell: bash + + # build-api-suspicious-cases: + # name: Build Api Suspicious Cases + # uses: Informatievlaanderen/build-pipeline/.github/workflows/build-image.yml@main + # needs: [ set-release-version ] + # if: ${{ (github.repository_owner == 'Informatievlaanderen') && (needs.set-release-version.outputs.version != 'none') }} + # with: + # registry: integration-db + # build-target: Containerize_ApiSuspiciousCases + # image-file: integrationdb-api-suspicious-cases-image.tar + # image-name: api-suspicious-cases + # test-project: Basisregisters.IntegrationDb.SuspiciousCases.Api.Tests + # build-project: Basisregisters.IntegrationDb.SuspiciousCases.Api + # semver: ${{ needs.set-release-version.outputs.version }} + # secrets: inherit + + pack-api-suspicious-cases: + name: Pack Api Suspicious Cases + uses: Informatievlaanderen/build-pipeline/.github/workflows/pack.yml@main + needs: [ set-release-version ] + if: ${{ (github.repository_owner == 'Informatievlaanderen') && (needs.set-release-version.outputs.version != 'none') }} + with: + pack-file: Be.Vlaanderen.Basisregisters.IntegrationDb.SuspiciousCases.Api + test-project: Basisregisters.IntegrationDb.SuspiciousCases.Api.Tests + build-project: Basisregisters.IntegrationDb.SuspiciousCases.Api + semver: ${{ needs.set-release-version.outputs.version }} + secrets: inherit + + release: + if: ${{ (github.repository_owner == 'Informatievlaanderen') && (needs.set-release-version.outputs.version != 'none') }} + name: Semantic Release + runs-on: ubuntu-latest + needs: [ set-release-version, + # build-api-suspicious-cases, + pack-api-suspicious-cases + ] + outputs: + version: ${{ steps.set-version.outputs.version }} + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + persist-credentials: false + + - name: Cache NPM + uses: actions/cache@v3 + env: + cache-name: cache-npm + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + + - name: Parse repository name + run: echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV + shell: bash + + - name: Setup Node.js + uses: actions/setup-node@v3 + + - name: Setup Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + + - name: Node version + shell: bash + run: node --version + + - name: .NET version + shell: bash + run: dotnet --info + + - name: Python version + shell: bash + run: python --version + + - name: Install NPM dependencies + shell: bash + run: npm install --legacy-peer-deps + + - name: Install Python dependencies + shell: bash + run: | + python -m pip install --upgrade pip + pip install requests markdown argparse + + - name: Download NuGet Api Suspicious Cases + uses: actions/download-artifact@v3 + continue-on-error: false + with: + name: nuget-Be.Vlaanderen.Basisregisters.IntegrationDb.SuspiciousCases.Api-${{ needs.set-release-version.outputs.version }} + path: dist/nuget/ + + - name: Run Semantic Release + shell: bash + run: npx semantic-release + env: + BUILD_DOCKER_REGISTRY: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_TST }} + GITHUB_TOKEN: ${{ secrets.VBR_GIT_RELEASE_TOKEN }} + GIT_COMMIT: ${{ github.sha }} + GIT_USERNAME: ${{ secrets.VBR_GIT_USER }} + GIT_AUTHOR_NAME: ${{ secrets.VBR_GIT_USER }} + GIT_COMMITTER_NAME: ${{ secrets.VBR_GIT_USER }} + GIT_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + GIT_AUTHOR_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + GIT_COMMITTER_EMAIL: ${{ secrets.VBR_GIT_EMAIL }} + + - name: Set Release Version + id: set-version + run: | + [ ! -f semver ] && echo none > semver + echo $(cat semver) + echo ::set-output name=version::$(cat semver) + echo RELEASE_VERSION=$(cat semver) >> $GITHUB_ENV + shell: bash + + publish_to_nuget: + needs: [ release ] + if: ${{ (github.repository_owner == 'Informatievlaanderen') && (needs.release.outputs.version != 'none') }} + name: Publish to NuGet + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v2 + with: + dotnet-version: ${{ secrets.VBR_DOTNET_VERSION }} + + - name: .NET version + shell: bash + run: dotnet --info + + - name: Download NuGet package api-suspicious-cases + uses: actions/download-artifact@v3 + with: + name: nuget-Be.Vlaanderen.Basisregisters.IntegrationDb.SuspiciousCases.Api-${{ needs.release.outputs.version }} + path: ~/ + + - name: Publish packages to NuGet + shell: bash + run: | + dotnet nuget push ~/Be.Vlaanderen.Basisregisters.IntegrationDb.SuspiciousCases.Api.$SEMVER.nupkg --source nuget.org --api-key $NUGET_API_KEY + env: + SEMVER: ${{ needs.release.outputs.version }} + WORKSPACE: ${{ github.workspace }} + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + + # publish_to_atlassian: + # needs: [ release ] + # if: ${{ (github.repository_owner == 'Informatievlaanderen') && (needs.release.outputs.version != 'none') }} + # name: Publish to Atlassian + # runs-on: ubuntu-latest + # steps: + # - name: Checkout Code + # uses: actions/checkout@v3 + + # - name: Parse repository name + # run: echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV + # shell: bash + + # - name: Cache Paket + # uses: actions/cache@v3 + # env: + # cache-name: cache-paket + # with: + # path: packages + # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('paket.lock') }} + # restore-keys: | + # ${{ runner.os }}-build-${{ env.cache-name }}- + + # - name: Cache Python + # uses: actions/cache@v3 + # env: + # cache-name: cache-pip + # with: + # path: ~/.cache/pip + # key: ${{ runner.os }}-build-${{ env.cache-name }} + + # - name: Setup Python + # uses: actions/setup-python@v3 + # with: + # python-version: '3.x' + + # - name: Install Python dependencies + # shell: bash + # run: | + # python -m pip install --upgrade pip + # pip install requests markdown argparse + + # - name: Publish to Confluence + # shell: bash + # run: ./packages/Be.Vlaanderen.Basisregisters.Build.Pipeline/Content/ci-confluence.sh + # env: + # CONFLUENCE_TITLE: ${{ env.REPOSITORY_NAME }} + # CONFLUENCE_USERNAME: ${{ secrets.VBR_CONFLUENCE_USER }} + # CONFLUENCE_PASSWORD: ${{ secrets.VBR_CONFLUENCE_PASSWORD }} + + # - name: Create Jira Release + # shell: bash + # run: ./packages/Be.Vlaanderen.Basisregisters.Build.Pipeline/Content/ci-jira.sh + # env: + # CONFLUENCE_TITLE: ${{ env.REPOSITORY_NAME }} + # CONFLUENCE_USERNAME: ${{ secrets.VBR_CONFLUENCE_USER }} + # CONFLUENCE_PASSWORD: ${{ secrets.VBR_CONFLUENCE_PASSWORD }} + # JIRA_PREFIX: Building + # JIRA_PROJECT: GAWR + # JIRA_VERSION: ${{ needs.release.outputs.version }} + + # push_images_to_test: + # if: needs.release.outputs.version != 'none' + # needs: [ release ] + # name: Push images to Test + # runs-on: ubuntu-latest + # strategy: + # matrix: + # image: [ + # 'api-grb', + # 'grb-processor-upload', + # 'grb-processor-job' + # ] + # steps: + # - name: Configure AWS credentials (Test) + # uses: aws-actions/configure-aws-credentials@v1-node16 + # with: + # aws-access-key-id: ${{ secrets.VBR_AWS_ACCESS_KEY_ID_TST }} + # aws-secret-access-key: ${{ secrets.VBR_AWS_SECRET_ACCESS_KEY_TST }} + # aws-region: ${{ secrets.VBR_AWS_REGION_PRD }} + + # - name: Login to Amazon ECR (Test) + # uses: aws-actions/amazon-ecr-login@v1.5.3 + + # # Download artifact + # - name: Download artifact + # uses: actions/download-artifact@v3 + # continue-on-error: false + # with: + # name: ${{ matrix.image }}-${{ needs.release.outputs.version }} + # path: ~/ + + # # Load artifact + # - name: Load artifact + # shell: bash + # run: | + # echo br-$IMAGE-image.tar + # docker image load -i ~/br-$IMAGE-image.tar + # env: + # IMAGE: ${{ matrix.image }} + + # - name: Push artifacts to ECR Test + # shell: bash + # run: | + # echo $IMAGE:$SEMVER + # docker push $BUILD_DOCKER_REGISTRY/building-registry/$IMAGE:$SEMVER + # env: + # BUILD_DOCKER_REGISTRY: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_TST }} + # IMAGE: ${{ matrix.image }} + # SEMVER: ${{ needs.release.outputs.version }} + # WORKSPACE: ${{ github.workspace }} + + # push_images_to_staging: + # if: needs.release.outputs.version != 'none' + # needs: [ release ] + # name: Push images to Staging + # runs-on: ubuntu-latest + # strategy: + # matrix: + # image: [ + # 'api-grb', + # 'grb-processor-upload', + # 'grb-processor-job' + # ] + # steps: + # - name: Configure AWS credentials (Staging) + # uses: aws-actions/configure-aws-credentials@v1-node16 + # with: + # aws-access-key-id: ${{ secrets.VBR_AWS_ACCESS_KEY_ID }} + # aws-secret-access-key: ${{ secrets.VBR_AWS_SECRET_ACCESS_KEY }} + # aws-region: ${{ secrets.VBR_AWS_REGION_PRD }} + + # - name: Login to Amazon ECR (Staging) + # uses: aws-actions/amazon-ecr-login@v1.5.3 + + # # Download artifact + # - name: Download artifact + # uses: actions/download-artifact@v3 + # continue-on-error: false + # with: + # name: ${{ matrix.image }}-${{ needs.release.outputs.version }} + # path: ~/ + + # # Load artifact + # - name: Load artifact + # shell: bash + # run: | + # echo br-$IMAGE-image.tar + # docker image load -i ~/br-$IMAGE-image.tar + # env: + # IMAGE: ${{ matrix.image }} + + # - name: Push artifacts to ECR Staging + # shell: bash + # run: | + # echo $IMAGE:$SEMVER + # docker tag $BUILD_DOCKER_REGISTRY_TST/building-registry/$IMAGE:$SEMVER $BUILD_DOCKER_REGISTRY/building-registry/$IMAGE:$SEMVER + # docker push $BUILD_DOCKER_REGISTRY/building-registry/$IMAGE:$SEMVER + # env: + # BUILD_DOCKER_REGISTRY_TST: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_TST }} + # BUILD_DOCKER_REGISTRY: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY }} + # IMAGE: ${{ matrix.image }} + # SEMVER: ${{ needs.release.outputs.version }} + # WORKSPACE: ${{ github.workspace }} + + # push_images_to_production: + # if: needs.release.outputs.version != 'none' + # needs: [ release ] + # name: Push images to New Production + # runs-on: ubuntu-latest + # strategy: + # matrix: + # image: [ + # 'api-grb', + # 'grb-processor-upload', + # 'grb-processor-job', + # ] + # steps: + # - name: Configure AWS credentials (New Production) + # uses: aws-actions/configure-aws-credentials@v1-node16 + # with: + # aws-access-key-id: ${{ secrets.VBR_AWS_ACCESS_KEY_ID_NEWPRD }} + # aws-secret-access-key: ${{ secrets.VBR_AWS_SECRET_ACCESS_KEY_NEWPRD }} + # aws-region: ${{ secrets.VBR_AWS_REGION_PRD }} + + # - name: Login to Amazon ECR (New Production) + # uses: aws-actions/amazon-ecr-login@v1.5.3 + + # # Download artifact + # - name: Download artifact + # uses: actions/download-artifact@v3 + # continue-on-error: false + # with: + # name: ${{ matrix.image }}-${{ needs.release.outputs.version }} + # path: ~/ + + # # Load artifact + # - name: Load artifact + # shell: bash + # run: | + # echo br-$IMAGE-image.tar + # docker image load -i ~/br-$IMAGE-image.tar + # env: + # IMAGE: ${{ matrix.image }} + + # - name: Push artifacts to ECR New Production + # shell: bash + # run: | + # echo $IMAGE:$SEMVER + # docker tag $BUILD_DOCKER_REGISTRY_TST/building-registry/$IMAGE:$SEMVER $BUILD_DOCKER_REGISTRY_NEWPRD/building-registry/$IMAGE:$SEMVER + # docker push $BUILD_DOCKER_REGISTRY_NEWPRD/building-registry/$IMAGE:$SEMVER + # env: + # BUILD_DOCKER_REGISTRY_TST: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_TST }} + # BUILD_DOCKER_REGISTRY_NEWPRD: ${{ secrets.VBR_BUILD_DOCKER_REGISTRY_NEWPRD }} + # IMAGE: ${{ matrix.image }} + # SEMVER: ${{ needs.release.outputs.version }} + # WORKSPACE: ${{ github.workspace }} + + # deploy_to_test_start_slack: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ push_images_to_test ] + # name: Deploy to test started + # environment: test + # runs-on: ubuntu-latest + + # steps: + # - name: Parse repository name + # run: echo REPOSITORY_NAME=$(echo ""$GITHUB_REPOSITORY"" | awk -F / '{print $2}' | sed -e ""s/:refs//"") >> $GITHUB_ENV + # shell: bash + + # - name: Notify deployment started + # uses: slackapi/slack-github-action@v1.23.0 + # with: + # channel-id: '#team-dinosaur-dev' + # slack-message: Deployment of basisregisters-grb to test has started + # env: + # SLACK_BOT_TOKEN: ${{ secrets.VBR_SLACK_BOT_TOKEN }} + # SLACK_CHANNEL: ${{ secrets.VBR_NOTIFIER_CHANNEL_NAME }} + # REPOSITORY_NAME: ${{ env.REPOSITORY_NAME }} + + # deploy_to_test: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ deploy_to_test_start_slack, release ] + # name: Deploy to test + # runs-on: ubuntu-latest + # strategy: + # matrix: + # services: [ + # 'building-registry-grb-api', + # 'building-registry-grb-processor-upload', + # 'building-registry-grb-processor-job' + # ] + # steps: + # - name: Deploy services + # env: + # BUILD_URL: ${{ secrets.VBR_AWS_BUILD_API }}/${{matrix.services}} + # STATUS_URL: ${{ secrets.VBR_AWS_BUILD_STATUS_API }}/${{matrix.services}} + # uses: informatievlaanderen/awscurl-polling-action/polling-action@main + # with: + # environment: test + # version: ${{ needs.release.outputs.version }} + # status-url: $STATUS_URL + # deploy-url: $BUILD_URL + # access-key: ${{ secrets.VBR_AWS_BUILD_USER_ACCESS_KEY_ID }} + # secret-key: ${{ secrets.VBR_AWS_BUILD_USER_SECRET_ACCESS_KEY }} + # region: eu-west-1 + # interval: 2 + + # - name: Deploy services output + # shell: bash + # run: | + # echo build-uuid: ${{ steps.awscurl-polling-action.outputs.build-uuid }} + # echo Status: ${{ steps.awscurl-polling-action.outputs.status }} + # echo ${{ steps.awscurl-polling-action.outputs.final-message }} + + # deploy_to_test_finish_slack: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ deploy_to_test ] + # name: Deploy to test finished + # runs-on: ubuntu-latest + + # steps: + # - name: Parse repository name + # run: echo REPOSITORY_NAME=$(echo ""$GITHUB_REPOSITORY"" | awk -F / '{print $2}' | sed -e ""s/:refs//"") >> $GITHUB_ENV + # shell: bash + + # - name: Notify deployment finished + # uses: slackapi/slack-github-action@v1.23.0 + # with: + # channel-id: '#team-dinosaur-dev' + # slack-message: Deployment of basisregisters-grb to test has finished + # env: + # SLACK_BOT_TOKEN: ${{ secrets.VBR_SLACK_BOT_TOKEN }} + # SLACK_CHANNEL: ${{ secrets.VBR_NOTIFIER_CHANNEL_NAME }} + # REPOSITORY_NAME: ${{ env.REPOSITORY_NAME }} + + # deploy_to_staging_start_slack: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ push_images_to_staging, deploy_to_test_finish_slack ] + # name: Deploy to staging started + # environment: stg + # runs-on: ubuntu-latest + + # steps: + # - name: Parse repository name + # run: echo REPOSITORY_NAME=$(echo ""$GITHUB_REPOSITORY"" | awk -F / '{print $2}' | sed -e ""s/:refs//"") >> $GITHUB_ENV + # shell: bash + + # - name: Notify deployment started + # uses: slackapi/slack-github-action@v1.23.0 + # with: + # channel-id: '#team-dinosaur-dev' + # slack-message: Deployment of basisregisters-grb to staging has started + # env: + # SLACK_BOT_TOKEN: ${{ secrets.VBR_SLACK_BOT_TOKEN }} + # SLACK_CHANNEL: ${{ secrets.VBR_NOTIFIER_CHANNEL_NAME }} + # REPOSITORY_NAME: ${{ env.REPOSITORY_NAME }} + + # deploy_to_staging: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ deploy_to_staging_start_slack, release ] + # name: Deploy to staging + # runs-on: ubuntu-latest + # strategy: + # matrix: + # services: [ + # 'building-registry-grb-api', + # 'building-registry-grb-processor-upload', + # 'building-registry-grb-processor-job' + # ] + # steps: + # - name: CD services + # env: + # BUILD_URL: ${{ secrets.VBR_AWS_BUILD_API }}/${{matrix.services}} + # STATUS_URL: ${{ secrets.VBR_AWS_BUILD_STATUS_API }}/${{matrix.services}} + # uses: informatievlaanderen/awscurl-polling-action/polling-action@main + # with: + # environment: stg + # version: ${{ needs.release.outputs.version }} + # status-url: $STATUS_URL + # deploy-url: $BUILD_URL + # access-key: ${{ secrets.VBR_AWS_BUILD_USER_ACCESS_KEY_ID }} + # secret-key: ${{ secrets.VBR_AWS_BUILD_USER_SECRET_ACCESS_KEY }} + # region: eu-west-1 + # interval: 2 + + # - name: output CD services + # shell: bash + # run: | + # echo build-uuid: ${{ steps.awscurl-polling-action.outputs.build-uuid }} + # echo Status: ${{ steps.awscurl-polling-action.outputs.status }} + # echo ${{ steps.awscurl-polling-action.outputs.final-message }} + + # deploy_to_staging_finish_slack: + # if: github.repository_owner == 'Informatievlaanderen' + # needs: [ deploy_to_staging ] + # name: Deploy to staging finished + # runs-on: ubuntu-latest + + # steps: + # - name: Parse repository name + # run: echo REPOSITORY_NAME=$(echo ""$GITHUB_REPOSITORY"" | awk -F / '{print $2}' | sed -e ""s/:refs//"") >> $GITHUB_ENV + # shell: bash + + # - name: Notify deployment finished + # uses: slackapi/slack-github-action@v1.23.0 + # with: + # channel-id: '#team-dinosaur-dev' + # slack-message: Deployment of basisregisters-grb to staging has finished + # env: + # SLACK_BOT_TOKEN: ${{ secrets.VBR_SLACK_BOT_TOKEN }} + # SLACK_CHANNEL: ${{ secrets.VBR_NOTIFIER_CHANNEL_NAME }} + # REPOSITORY_NAME: ${{ env.REPOSITORY_NAME }} \ No newline at end of file diff --git a/build.fsx b/build.fsx index 3a53afa9..285dee45 100644 --- a/build.fsx +++ b/build.fsx @@ -7,8 +7,6 @@ nuget Microsoft.Build 17.3.2 nuget Microsoft.Build.Framework 17.3.2 nuget Microsoft.Build.Tasks.Core 17.3.2 nuget Microsoft.Build.Utilities.Core 17.3.2 -nuget Microsoft.NET.StringTools 17.3.2 -nuget FSharp.Core 6.0 nuget Be.Vlaanderen.Basisregisters.Build.Pipeline 6.0.6 //" @@ -25,7 +23,7 @@ let product = "Basisregisters Vlaanderen" let copyright = "Copyright (c) Vlaamse overheid" let company = "Vlaamse overheid" -let dockerRepository = "address-registry" +let dockerRepository = "integration-db" let assemblyVersionNumber = (sprintf "2.%s") let nugetVersionNumber = (sprintf "%s") @@ -43,85 +41,24 @@ supportedRuntimeIdentifiers <- [ "msil"; "linux-x64" ] // Solution ----------------------------------------------------------------------- -Target.create "Restore_Solution" (fun _ -> restore "AddressRegistry") +Target.create "Restore_Solution" (fun _ -> restore "Basisregisters.IntegrationDb") Target.create "Build_Solution" (fun _ -> setVersions "SolutionInfo.cs" - buildSolution "AddressRegistry" -) + buildSolution "Basisregisters.IntegrationDb") Target.create "Test_Solution" (fun _ -> [ - "test" @@ "AddressRegistry.Tests" - "test" @@ "AddressRegistry.Api.Legacy.Tests" + "test" @@ "Basisregisters.IntegrationDb.SuspiciousCases.Api.Tests" ] |> List.iter testWithDotNet ) Target.create "Publish_Solution" (fun _ -> [ - "AddressRegistry.Projector" - "AddressRegistry.Api.Legacy" - "AddressRegistry.Api.Oslo" - "AddressRegistry.Api.Extract" - "AddressRegistry.Api.CrabImport" - "AddressRegistry.Api.BackOffice" - "AddressRegistry.Api.BackOffice.Abstractions" - "AddressRegistry.Api.BackOffice.Handlers.Lambda" - "AddressRegistry.Consumer" - "AddressRegistry.Consumer.Read.Municipality" - "AddressRegistry.Consumer.Read.StreetName" - "AddressRegistry.Migrator.Address" - "AddressRegistry.Producer" - "AddressRegistry.Producer.Snapshot.Oslo" - "AddressRegistry.Projections.BackOffice" - "AddressRegistry.Projections.Legacy" - "AddressRegistry.Projections.Extract" - "AddressRegistry.Projections.LastChangedList" - "AddressRegistry.Projections.Syndication" - "AddressRegistry.Projections.Wfs" - "AddressRegistry.Projections.Wms" - "AddressRegistry.Snapshot.Verifier" - ] |> List.iter publishSource - - let dist = (buildDir @@ "AddressRegistry.CacheWarmer" @@ "linux") - let source = "src" @@ "AddressRegistry.CacheWarmer" - - Directory.ensure dist - Shell.copyFile dist (source @@ "Dockerfile") - ) - -Target.create "Pack_Solution" (fun _ -> - [ - "AddressRegistry.Api.Legacy" - "AddressRegistry.Api.Oslo" - "AddressRegistry.Api.Extract" - "AddressRegistry.Api.CrabImport" - "AddressRegistry.Api.BackOffice" - "AddressRegistry.Api.BackOffice.Abstractions" - ] |> List.iter pack) - -Target.create "Containerize_Projector" (fun _ -> containerize "AddressRegistry.Projector" "projector") -Target.create "Containerize_ApiLegacy" (fun _ -> containerize "AddressRegistry.Api.Legacy" "api-legacy") -Target.create "Containerize_ApiOslo" (fun _ -> containerize "AddressRegistry.Api.Oslo" "api-oslo") -Target.create "Containerize_ApiExtract" (fun _ -> containerize "AddressRegistry.Api.Extract" "api-extract") -Target.create "Containerize_ApiBackOffice" (fun _ -> containerize "AddressRegistry.Api.BackOffice" "api-backoffice") -Target.create "Containerize_ApiCrabImport" (fun _ -> containerize "AddressRegistry.Api.CrabImport" "api-crab-import") -Target.create "Containerize_Consumer" (fun _ -> containerize "AddressRegistry.Consumer" "consumer") -Target.create "Containerize_ConsumerMunicipality" (fun _ -> containerize "AddressRegistry.Consumer.Read.Municipality" "consumer-read-municipality") -Target.create "Containerize_ConsumerStreetName" (fun _ -> containerize "AddressRegistry.Consumer.Read.StreetName" "consumer-read-streetname") -Target.create "Containerize_Migrator_Address" (fun _ -> containerize "AddressRegistry.Migrator.Address" "migrator-address") -Target.create "Containerize_Producer" (fun _ -> containerize "AddressRegistry.Producer" "producer") -Target.create "Containerize_Producer_Snapshot_Oslo" (fun _ -> containerize "AddressRegistry.Producer.Snapshot.Oslo" "producer-snapshot-oslo") -Target.create "Containerize_ProjectionsSyndication" (fun _ -> containerize "AddressRegistry.Projections.Syndication" "projections-syndication") -Target.create "Containerize_ProjectionsBackOffice" (fun _ -> containerize "AddressRegistry.Projections.BackOffice" "projections-backoffice") -Target.create "Containerize_SnapshotVerifier" (fun _ -> containerize "AddressRegistry.Snapshot.Verifier" "snapshot-verifier") -Target.create "Containerize_CacheWarmer" (fun _ -> - let dist = (buildDir @@ "AddressRegistry.CacheWarmer" @@ "linux") - let source = "src" @@ "AddressRegistry.CacheWarmer" - - Directory.ensure dist - Shell.copyFile dist (source @@ "Dockerfile") - containerize "AddressRegistry.CacheWarmer" "cache-warmer") + "Basisregisters.IntegrationDb.SuspiciousCases.Api" + ] |> List.iter publishSource) + +Target.create "Containerize_ApiSuspiciousCases" (fun _ -> containerize "Basisregisters.IntegrationDb.SuspiciousCases.Api" "api-suspicious-cases") Target.create "SetAssemblyVersions" (fun _ -> setVersions "SolutionInfo.cs") // -------------------------------------------------------------------------------- @@ -148,27 +85,11 @@ Target.create "Containerize" ignore ==> "Publish" "Publish" - ==> "Pack_Solution" ==> "Pack" "Pack" - //==> "Containerize_Projector" - //==> "Containerize_ApiLegacy" - //==> "Containerize_ApiOslo" - //==> "Containerize_ApiExtract" - //==> "Containerize_ApiBackOffice" - //==> "Containerize_ApiCrabImport" - //==> "Containerize_Consumer" - //==> "Containerize_ConsumerMunicipality" - //==> "Containerize_ConsumerStreetName" - //==> "Containerize_Migrator_Address" - //==> "Containerize_Producer" - //==> "Containerize_Producer_Snapshot_Oslo" - //==> "Containerize_ProjectionsSyndication" - //==> "Containerize_ProjectionsBackOffice" - //==> "Containerize_CacheWarmer" ==> "Containerize" // Possibly add more projects to containerize here // By default we build & test -Target.runOrDefault "Test" +Target.runOrDefault "Test" \ No newline at end of file