-
Notifications
You must be signed in to change notification settings - Fork 24
129 lines (109 loc) · 3.73 KB
/
durabletask-azuremanaged.yml
File metadata and controls
129 lines (109 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Durable Task Scheduler SDK (durabletask-azuremanaged)
on:
push:
branches:
- "main"
tags:
- "azuremanaged-v*" # Only run for tags starting with "azuremanaged-v"
pull_request:
branches:
- "main"
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: 3.14
- name: Install dependencies
working-directory: durabletask-azuremanaged
run: |
python -m pip install --upgrade pip
pip install setuptools wheel tox
pip install flake8
- name: Run flake8 Linter
working-directory: durabletask-azuremanaged
run: flake8 .
- name: Run flake8 Linter
working-directory: tests/durabletask-azuremanaged
run: flake8 .
run-docker-tests:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
env:
EMULATOR_VERSION: "latest"
needs: lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Pull Docker image
run: docker pull mcr.microsoft.com/dts/dts-emulator:$EMULATOR_VERSION
- name: Run Docker container
run: |
docker run --name dtsemulator -d -p 8080:8080 mcr.microsoft.com/dts/dts-emulator:$EMULATOR_VERSION
- name: Wait for container to be ready
run: sleep 10 # Adjust if your service needs more time to start
- name: Set environment variables
run: |
echo "TASKHUB=default" >> $GITHUB_ENV
echo "ENDPOINT=http://localhost:8080" >> $GITHUB_ENV
- name: Install durabletask dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
pip install -r requirements.txt
- name: Install durabletask-azuremanaged dependencies
working-directory: examples
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install durabletask-azuremanaged locally
working-directory: durabletask-azuremanaged
run: |
pip install . --no-deps --force-reinstall
- name: Install durabletask locally
run: |
pip install . --no-deps --force-reinstall
- name: Run the tests
working-directory: tests/durabletask-azuremanaged
run: |
pytest -m "dts" --verbose
publish-release:
if: startsWith(github.ref, 'refs/tags/azuremanaged-v') # Only run if a matching tag is pushed
needs: run-docker-tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Extract version from tag
run: echo "VERSION=${GITHUB_REF#refs/tags/azuremanaged-v}" >> $GITHUB_ENV # Extract version from the tag
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14" # Adjust Python version as needed
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package from directory durabletask-azuremanaged
working-directory: durabletask-azuremanaged
run: |
python -m build
- name: Check package
working-directory: durabletask-azuremanaged
run: |
twine check dist/*
- name: Publish package to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN_AZUREMANAGED }} # Store your PyPI API token in GitHub Secrets
working-directory: durabletask-azuremanaged
run: |
twine upload dist/*