service: r-builds plugins: - serverless-python-requirements - serverless-step-functions - serverless-pseudo-parameters custom: ${file(./serverless-custom.yml)} package: exclude: - integration/** - builder/** - docs/** - node_modules/** provider: name: aws runtime: python3.6 stage: ${opt:stage, self:custom.defaultStage} deploymentBucket: name: ${self:custom.deploymentBucket} stackTags: ${self:custom.${self:provider.stage}.stackTags} iamRoleStatements: - Effect: Allow Action: - "batch:*" Resource: '*' - Effect: Allow Action: - "s3:*" Resource: - arn:aws:s3:::${self:custom.${self:provider.stage}.s3Bucket} - arn:aws:s3:::${self:custom.${self:provider.stage}.s3Bucket}/* environment: S3_BUCKET: ${self:custom.${self:provider.stage}.s3Bucket} JOB_QUEUE_ARN: Ref: rBuildsBatchJobQueue JOB_DEFINITION_ARN_ubuntu_1604: Ref: rBuildsBatchJobDefinitionUbuntu1604 JOB_DEFINITION_ARN_ubuntu_1804: Ref: rBuildsBatchJobDefinitionUbuntu1804 JOB_DEFINITION_ARN_ubuntu_2004: Ref: rBuildsBatchJobDefinitionUbuntu2004 JOB_DEFINITION_ARN_ubuntu_2204: Ref: rBuildsBatchJobDefinitionUbuntu2204 JOB_DEFINITION_ARN_debian_9: Ref: rBuildsBatchJobDefinitionDebian9 JOB_DEFINITION_ARN_debian_10: Ref: rBuildsBatchJobDefinitionDebian10 JOB_DEFINITION_ARN_centos_7: Ref: rBuildsBatchJobDefinitionCentos7 JOB_DEFINITION_ARN_centos_8: Ref: rBuildsBatchJobDefinitionCentos8 JOB_DEFINITION_ARN_opensuse_42: Ref: rBuildsBatchJobDefinitionOpensuse42 JOB_DEFINITION_ARN_opensuse_15: Ref: rBuildsBatchJobDefinitionOpensuse15 JOB_DEFINITION_ARN_opensuse_152: Ref: rBuildsBatchJobDefinitionOpensuse152 JOB_DEFINITION_ARN_opensuse_153: Ref: rBuildsBatchJobDefinitionOpensuse153 SUPPORTED_PLATFORMS: ubuntu-1604,ubuntu-1804,ubuntu-2004,ubuntu-2204,debian-9,debian-10,centos-7,centos-8,opensuse-42,opensuse-15,opensuse-152,opensuse-153 functions: queueBuilds: timeout: 90 handler: handler.queue_builds jobQueueStatus: handler: handler.poll_running_jobs stepFunctions: stateMachines: ${file(./serverless-stepf.yml)} resources: Resources: ${file(./serverless-resources.yml)}