-
Notifications
You must be signed in to change notification settings - Fork 388
137 lines (120 loc) · 3.7 KB
/
argilla.yml
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
130
131
132
133
134
135
136
137
name: Build and publish the `argilla` sdk python package
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- main
- develop
- releases/**
pull_request:
paths:
- "argilla/**"
permissions:
id-token: write
jobs:
build:
services:
argilla-server:
image: argilladev/argilla-hf-spaces:develop
ports:
- 6900:6900
env:
ARGILLA_ENABLE_TELEMETRY: 0
# Set credentials
USERNAME: argilla
PASSWORD: 12345678
API_KEY: argilla.apikey
runs-on: ubuntu-latest
defaults:
run:
working-directory: argilla
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
cache: true
cache-dependency-path: |
argilla/pdm.lock
- name: Install dependencies
run: |
pdm install
- name: Wait for argilla server to start
run: |
while ! curl -XGET http://localhost:6900/api/_status; do sleep 5; done
- name: Set huggingface hub credentials
run: |
echo "HF_TOKEN_ARGILLA_INTERNAL_TESTING=${{ secrets.HF_TOKEN_ARGILLA_INTERNAL_TESTING }}" >> "$GITHUB_ENV"
echo "Enable HF access token"
- name: Run unit tests
run: |
pdm run test tests/unit
- name: Run integration tests
run: |
pdm run test tests/integration
- name: Build package
run: |
pdm build
- name: Upload artifact
uses: actions/upload-artifact@v4
# Upload the package to be used in the next jobs only once
if: ${{ matrix.python-version == '3.9' }}
with:
name: argilla
path: argilla/dist
# This job will publish argilla package into PyPI repository
publish_release:
name: Publish Release
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' }}
permissions:
# This permission is needed for private repositories.
# contents: read
# IMPORTANT: this permission is mandatory for trusted publishing on PyPI
id-token: write
needs:
- build
defaults:
run:
shell: bash -l {0}
working-directory: argilla
steps:
- name: Checkout Code 🛎
uses: actions/checkout@v4
- name: Download python package
uses: actions/download-artifact@v4
with:
name: argilla
path: argilla/dist
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
cache: true
python-version-file: argilla/pyproject.toml
cache-dependency-path: |
argilla/pdm.lock
- name: Read package info
run: |
PACKAGE_VERSION=$(pdm show --version)
PACKAGE_NAME=$(pdm show --name)
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV
echo "PACKAGE_NAME=$PACKAGE_NAME" >> $GITHUB_ENV
echo "$PACKAGE_NAME==$PACKAGE_VERSION"
- name: Publish Package to PyPI test environment 🥪
run: pdm publish --no-build --repository testpypi
continue-on-error: true
- name: Test Installing 🍿
continue-on-error: true
run: |
pip3 install --index-url https://test.pypi.org/simple --no-deps $PACKAGE_NAME==$PACKAGE_VERSION
- name: Publish Package to PyPI 🥩
if: github.ref == 'refs/heads/main'
run: pdm publish --no-build