Skip to content

Commit df2f49e

Browse files
authored
Merge branch 'master' into ENG-2912-nuget-symbols-flag-duplicate-error
2 parents 99e0d00 + a4395c2 commit df2f49e

48 files changed

Lines changed: 2415 additions & 281 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 1.1.1
2+
current_version = 1.8.0
33
commit = True
44
tag = True
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<revision>\d+)

.circleci/config.yml

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,10 @@ orbs:
5757
- run:
5858
name: Install dependencies
5959
command: |
60-
python3 -m venv .venv
60+
python3 -m pip install uv
61+
uv venv .venv
62+
uv pip install -r requirements.txt
6163
. .venv/bin/activate
62-
pip install -r requirements.txt
63-
- when:
64-
condition: <<parameters.is_test_suite>>
65-
steps:
66-
- run:
67-
name: Setup Code Climate coverage reporter
68-
command: |
69-
test "$CIRCLE_LOCAL" == "true" || {
70-
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter;
71-
chmod +x ./cc-test-reporter;
72-
}
73-
- run:
74-
name: Notify Code Climate of pending test report
75-
command:
76-
test "$CIRCLE_LOCAL" == "true" || {
77-
./cc-test-reporter before-build;
78-
}
7964
- save_cache:
8065
paths:
8166
- .venv
@@ -94,18 +79,11 @@ orbs:
9479
path: ./reports
9580
- store_artifacts:
9681
path: ./reports
97-
- deploy:
98-
command: |
99-
test "$CIRCLE_LOCAL" == "true" || {
100-
. .venv/bin/activate
101-
cp ./reports/coverage.xml .;
102-
./cc-test-reporter after-build -t coverage.py --exit-code $(cat /tmp/run_exit_code);
103-
}
10482

10583
executors:
10684
cloudsmith_executor:
10785
docker:
108-
- image: circleci/python:3.8
86+
- image: circleci/python:3.9
10987

11088

11189
workflows:
@@ -135,13 +113,8 @@ workflows:
135113
- cloudsmith_ci/execute:
136114
name: pytest
137115
service_name: pytest
138-
command: pytest --cov-report xml:./reports/coverage.xml --junitxml ./reports/pytest.xml
116+
command: pytest --junitxml ./reports/pytest.xml
139117
is_test_suite: true
140-
- python/test:
141-
name: pytest-python3.9
142-
version: "3.9"
143-
pkg-manager: pip
144-
pip-dependency-file: requirements.txt
145118
- python/test:
146119
name: pytest-python3.10
147120
version: "3.10"
@@ -152,6 +125,16 @@ workflows:
152125
version: "3.11"
153126
pkg-manager: pip
154127
pip-dependency-file: requirements.txt
128+
- python/test:
129+
name: pytest-python3.12
130+
version: "3.12"
131+
pkg-manager: pip
132+
pip-dependency-file: requirements.txt
133+
- python/test:
134+
name: pytest-python3.13
135+
version: "3.13"
136+
pkg-manager: pip
137+
pip-dependency-file: requirements.txt
155138
- publish:
156139
filters:
157140
branches:

.envrc

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,29 @@ set -e
55
# development dependencies. Based on:
66
# https://hynek.me/til/python-project-local-venvs/
77
export VIRTUAL_ENV=.venv
8-
layout pyenv 3.8.16
9-
. .venv/bin/activate
10-
python -m pip install -q -r requirements.txt
8+
9+
PYTHON_VERSION="3.9.19"
10+
11+
# Check if .venv exists and the Python version matches
12+
if [ -d ".venv" ]; then
13+
CURRENT_VERSION=$(source .venv/bin/activate && python --version 2>&1 | cut -d' ' -f2)
14+
15+
if [ "$CURRENT_VERSION" != "$PYTHON_VERSION" ]; then
16+
echo "Current Python version ($CURRENT_VERSION) does not match the desired version ($PYTHON_VERSION). Recreating .venv..."
17+
rm -rf .venv
18+
fi
19+
fi
20+
21+
python -m uv venv .venv --python $PYTHON_VERSION
22+
python -m uv pip install -U pip uv
23+
python -m uv pip install -e .
24+
25+
source ./.venv/bin/activate
1126

1227
# Load environment variables from the .env file (for pytest, mainly)
28+
if [ ! -f .env ]; then
29+
cp .env.example .env
30+
fi
1331
dotenv
1432

1533
# Install pre-commit hooks

.github/workflows/release.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Create Zipapp and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: Set up Python 3.9
14+
uses: actions/setup-python@v2
15+
with:
16+
python-version: 3.9
17+
- name: Install dependencies
18+
run: |
19+
python -m pip install --upgrade pip
20+
pip install shiv
21+
- name: Get version
22+
id: get_version
23+
run: echo "VERSION=$(cat cloudsmith_cli/data/VERSION)" >> $GITHUB_ENV
24+
- name: Create Zipapp
25+
run: shiv -o cloudsmith-${{ env.VERSION }}.pyz -c cloudsmith .
26+
- name: Create Release
27+
id: create_release
28+
uses: actions/create-release@v1
29+
env:
30+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
with:
32+
tag_name: v${{ env.VERSION }}
33+
release_name: Release v${{ env.VERSION }}
34+
draft: false
35+
prerelease: false
36+
- name: Upload Release Asset
37+
id: upload-release-asset
38+
uses: actions/upload-release-asset@v1
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
with:
42+
upload_url: ${{ steps.create_release.outputs.upload_url }}
43+
asset_path: ./cloudsmith-${{ env.VERSION }}.pyz
44+
asset_name: cloudsmith-${{ env.VERSION }}.pyz
45+
asset_content_type: application/zip

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,6 @@ reports/
4040

4141
# dotenv
4242
.env
43+
44+
# Zipapp
45+
*.pyz

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# See: https://pre-commit.com/hooks.html
33
repos:
44
- repo: https://github.com/pre-commit/pre-commit-hooks
5-
rev: v4.4.0
5+
rev: v5.0.0
66
hooks:
77
- id: check-added-large-files
88
- id: check-ast
@@ -42,23 +42,23 @@ repos:
4242
- id: trailing-whitespace
4343

4444
- repo: https://github.com/psf/black
45-
rev: 23.3.0
45+
rev: 25.1.0
4646
hooks:
4747
- id: black
4848

4949
- repo: https://github.com/pycqa/flake8
50-
rev: '4.0.1'
50+
rev: '7.1.2'
5151
hooks:
5252
- id: flake8
5353
args: ['--config=.flake8']
5454

5555
- repo: https://github.com/pycqa/isort
56-
rev: 5.11.5
56+
rev: 6.0.1
5757
hooks:
5858
- id: isort
5959

6060
- repo: https://github.com/asottile/pyupgrade
61-
rev: v3.10.1
61+
rev: v3.19.1
6262
hooks:
6363
- id: pyupgrade
6464

.pylintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ persistent=yes
8888

8989
# Minimum Python version to use for version dependent checks. Will default to
9090
# the version used to run pylint.
91-
py-version=3.8
91+
py-version=3.9
9292

9393
# Discover python modules and packages in the file system subtree.
9494
recursive=no

CHANGELOG.md

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,97 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

8-
**Note:** Until 1.0 any MAJOR or MINOR release may have backwards-incompatible changes.
9-
108
## [Unreleased]
119

10+
## [1.8.0] - 2025-05-02
11+
12+
### Added
13+
14+
- Added support for managing User API Tokens ([#192](https://github.com/cloudsmith-io/cloudsmith-cli/pull/192))
15+
16+
## [1.7.2] - 2025-04-28
17+
18+
### Added
19+
20+
- Added a fix for certain login error messages being suppressed ([#196](https://github.com/cloudsmith-io/cloudsmith-cli/pull/196))
21+
22+
## [1.7.1] - 2025-04-25
23+
24+
### Added
25+
26+
- Added support for 2FA authentication when logging in ([#188](https://github.com/cloudsmith-io/cloudsmith-cli/pull/188))
27+
28+
## [1.7.0] - 2025-03-31
29+
30+
### Added
31+
32+
- Added `--extra-files` parameter for Maven upload command ([#190](https://github.com/cloudsmith-io/cloudsmith-cli/pull/190))
33+
34+
## [1.6.2] - 2025-03-27
35+
36+
- Added html templates for saml response endpoints
37+
- Added json support for whoami
38+
- Added support for additional headers to be passed to the saml authentication flow
39+
40+
## [1.5.0] - 2025-03-21
41+
42+
### Added
43+
44+
- Added `--sort` flag for package list command ([#185](https://github.com/cloudsmith-io/cloudsmith-cli/pull/185))
45+
46+
### Fixed
47+
48+
- Fixed `cloudsmith auth` command where it results in `403` ([#183](https://github.com/cloudsmith-io/cloudsmith-cli/pull/183))
49+
50+
## [1.4.1] - 2024-11-26
51+
52+
### Added
53+
54+
- Update cloudsmith-api to v2.0.16 ([#181](https://github.com/cloudsmith-io/cloudsmith-cli/pull/181))
55+
56+
57+
## [1.4.0] - 2024-11-04
58+
59+
### Added
60+
61+
- Dropped support for Python 3.8. ([#137](https://github.com/cloudsmith-io/cloudsmith-cli/pull/137))
62+
63+
## [1.3.1] - 2024-10-08
64+
65+
### Fixed
66+
67+
- Missing dependency from `setup.py` file ([#177](https://github.com/cloudsmith-io/cloudsmith-cli/pull/177))
68+
69+
## [1.3.0] - 2024-10-08
70+
71+
### Added
72+
73+
- The `auth` command, enabling users to authenticate against the API with their organization's configured SAML provider ([#174](https://github.com/cloudsmith-io/cloudsmith-cli/pull/174))
74+
75+
## [1.2.5] - 2024-06-11
76+
77+
### Added
78+
79+
- Produce CLI zipapp artefact on release ([#164](https://github.com/cloudsmith-io/cloudsmith-cli/pull/164))
80+
81+
## [1.2.3] - 2024-04-10
82+
83+
### Fixed
84+
85+
- Show pagination info for `repos get` ([#163](https://github.com/cloudsmith-io/cloudsmith-cli/pull/163))
86+
87+
## [1.2.2] - 2024-04-05
88+
89+
### Added
90+
91+
- Support for Swift package uploads ([#161](https://github.com/cloudsmith-io/cloudsmith-cli/pull/161))
92+
93+
## [1.2.0] - 2024-03-13
94+
95+
### Added
96+
97+
- Support for CRAN upstreams ([#157](https://github.com/cloudsmith-io/cloudsmith-cli/pull/157))
98+
1299
## [1.1.1] - 2023-09-13
13100

14101
### Fixed

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ To make a new release for `cloudsmith-cli`:
3636
$ bumpversion <major|minor|revision>
3737
```
3838

39-
A tag will automatically created along with the version bump commit.
39+
A tag will automatically created along with the version bump commit. Push the tag with `git push origin {version}`
4040

4141
Please ensure that [CHANGELOG.md](./CHANGELOG.md) is updated appropriately with each release.
4242

CONTRIBUTORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The following maintainers manage the project and are reponsible for reviewing/me
1010

1111
The following contributors (in alphabetical order) are held in eternal high esteem and gratitude for their glorious contributions to the project:
1212

13+
- Carlos Gonzalez ([@LowzG](https://github.com/LowzG))
1314
- Jamie Brynes ([@jamiebrynes7](https://github.com/jamiebrynes7))
1415
- Patrick McClory ([@mcclory](https://github.com/mcclory))
1516

0 commit comments

Comments
 (0)