Skip to content

Commit

Permalink
ci: Add release workflow (#71)
Browse files Browse the repository at this point in the history
  • Loading branch information
edgarrmondragon authored Aug 1, 2024
1 parent 611612e commit 82142a2
Show file tree
Hide file tree
Showing 16 changed files with 75 additions and 5 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Release

on:
push:

jobs:
build:
name: Build and Inspect
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: hynek/build-and-inspect-python-package@v2

publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: [build]
environment:
name: pypi
url: https://pypi.org/p/dbt-ext
if: startsWith(github.ref, 'refs/tags/')
permissions:
id-token: write # Needed for OIDC PyPI publishing
steps:
- uses: actions/download-artifact@v4
with:
name: Packages
path: dist
- name: Publish
uses: pypa/[email protected]

upload-to-release:
name: Upload files to release
runs-on: ubuntu-latest
needs: [build]
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write # Needed for uploading files to the release
id-token: write # Needed for attestations
attestations: write # Needed for attestations

steps:
- uses: actions/download-artifact@v4
with:
name: Packages
path: dist
- name: Upload wheel and sdist to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/singer_sdk*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
- uses: actions/attest-build-provenance@v1
id: attest
with:
subject-path: "./dist/edk*"
- name: Upload attestations to release
uses: svenstaro/upload-release-action@v2
with:
file: ${{ steps.attest.outputs.bundle-path }}
tag: ${{ github.ref }}
overwrite: true
asset_name: attestations.intoto.jsonl
1 change: 1 addition & 0 deletions dbt_ext/dbt_files/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Files used to initialize a dbt project."""
File renamed without changes.
File renamed without changes.
File renamed without changes.
12 changes: 8 additions & 4 deletions dbt_ext/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
from meltano.edk.process import Invoker, log_subprocess_error
from meltano.edk.types import ExecArg

from . import dbt_files

try:
from importlib.resources import files as ir_files
from importlib import resources
except ImportError:
from importlib_resources import files as ir_files
import importlib_resources as resources

log = structlog.get_logger()

Expand Down Expand Up @@ -130,7 +132,9 @@ def initialize(self, force: bool = False) -> None:
log.info("creating dbt project directory", path=self.dbt_project_dir)
self.dbt_project_dir.mkdir(parents=True, exist_ok=True)

for entry in ir_files("files_dbt_ext.bundle.transform").iterdir():
files_dir = resources.files(dbt_files)

for entry in files_dir.joinpath("bundle", "transform").iterdir():
if entry.name == "__pycache__":
continue
log.debug(f"deploying {entry.name}", entry=entry, dst=self.dbt_project_dir)
Expand All @@ -145,7 +149,7 @@ def initialize(self, force: bool = False) -> None:
log.info("creating dbt profiles directory", path=self.dbt_profiles_dir)
self.dbt_profiles_dir.mkdir(parents=True, exist_ok=True)

for entry in ir_files("files_dbt_ext.profiles").iterdir():
for entry in files_dir.joinpath("profiles").iterdir():
if entry.name == self.dbt_ext_type and entry.is_dir():
log.debug(
f"deploying {entry.name} profile",
Expand Down
Empty file removed files_dbt_ext/bundle/__init__.py
Empty file.
Empty file.
Empty file removed files_dbt_ext/profiles/__init__.py
Empty file.
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ license = "Apache-2.0"

packages = [
{ include = "dbt_ext" },
{ include = "files_dbt_ext" },
]

# If you need to static assets with your extension, you can add them here.
Expand Down

0 comments on commit 82142a2

Please sign in to comment.