Skip to content

Commit 349d145

Browse files
committed
e2e test not skip
1 parent 26d3c5c commit 349d145

File tree

3 files changed

+63
-21
lines changed

3 files changed

+63
-21
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,18 @@ jobs:
7474
- name: Install package in development mode
7575
run: pip install -e .
7676

77+
- name: Verify secrets are configured
78+
run: |
79+
if [ -z "${{ secrets.LOGZIO_TOKEN }}" ]; then
80+
echo "::error::LOGZIO_TOKEN secret is not configured"
81+
exit 1
82+
fi
83+
if [ -z "${{ secrets.LOGZIO_API_KEY }}" ]; then
84+
echo "::error::LOGZIO_API_KEY secret is not configured"
85+
exit 1
86+
fi
87+
echo "✅ Required secrets are configured"
88+
7789
- name: Generate unique ENV_ID
7890
id: env-id
7991
run: echo "value=e2e-${{ github.run_id }}-${{ github.run_attempt }}" >> $GITHUB_OUTPUT

.github/workflows/dependabot-automerge.yml

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,57 @@ jobs:
2727
github.event.workflow_run.event == 'pull_request'
2828
2929
steps:
30-
- name: Checkout for metadata
31-
uses: actions/checkout@v4
32-
33-
- name: Fetch Dependabot metadata
34-
id: metadata
35-
uses: dependabot/fetch-metadata@v2
30+
- name: Get PR number
31+
id: pr
32+
uses: actions/github-script@v7
3633
with:
37-
github-token: "${{ secrets.GITHUB_TOKEN }}"
34+
script: |
35+
const { data: pullRequests } = await github.rest.pulls.list({
36+
owner: context.repo.owner,
37+
repo: context.repo.repo,
38+
state: 'open',
39+
head: `${context.repo.owner}:${context.payload.workflow_run.head_branch}`
40+
});
41+
42+
if (pullRequests.length > 0) {
43+
const pr = pullRequests[0];
44+
core.setOutput('number', pr.number);
45+
core.setOutput('title', pr.title);
46+
core.setOutput('found', 'true');
47+
48+
// Check if it's a major update by looking at the PR title
49+
// Dependabot titles include version info like "from 1.0.0 to 2.0.0"
50+
const majorPattern = /from \d+\.\d+\.\d+ to (\d+)\./;
51+
const match = pr.title.match(majorPattern);
52+
if (match) {
53+
const fromMajor = pr.title.match(/from (\d+)\./);
54+
const toMajor = match[1];
55+
if (fromMajor && fromMajor[1] !== toMajor) {
56+
core.setOutput('is_major', 'true');
57+
} else {
58+
core.setOutput('is_major', 'false');
59+
}
60+
} else {
61+
core.setOutput('is_major', 'false');
62+
}
63+
64+
console.log(`Found PR #${pr.number}: ${pr.title}`);
65+
} else {
66+
core.setOutput('found', 'false');
67+
console.log('No matching PR found');
68+
}
3869
3970
- name: Auto-merge patch/minor updates
40-
if: |
41-
steps.metadata.outputs.update-type == 'version-update:semver-patch' ||
42-
steps.metadata.outputs.update-type == 'version-update:semver-minor'
71+
if: steps.pr.outputs.found == 'true' && steps.pr.outputs.is_major != 'true'
4372
run: |
44-
echo "Enabling auto-merge for ${{ steps.metadata.outputs.dependency-names }} (${{ steps.metadata.outputs.update-type }})"
45-
gh pr merge --auto --merge "$HEAD_BRANCH"
73+
echo "Enabling auto-merge for PR #${{ steps.pr.outputs.number }}"
74+
echo "Title: ${{ steps.pr.outputs.title }}"
75+
gh pr merge --auto --merge ${{ steps.pr.outputs.number }} --repo ${{ github.repository }}
4676
env:
4777
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48-
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
4978

5079
- name: Skip major updates
51-
if: steps.metadata.outputs.update-type == 'version-update:semver-major'
80+
if: steps.pr.outputs.found == 'true' && steps.pr.outputs.is_major == 'true'
5281
run: |
53-
echo "Major version update for ${{ steps.metadata.outputs.dependency-names }} - review required"
82+
echo "⚠️ Major version update detected - manual review required"
83+
echo "PR #${{ steps.pr.outputs.number }}: ${{ steps.pr.outputs.title }}"

tests/e2e/test_logzio_e2e.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
BASE_LOGZIO_API_URL = os.getenv("LOGZIO_API_URL", "https://api.logz.io/v1")
2323

2424

25-
def get_env_or_skip(var_name: str) -> str:
26-
"""Get environment variable or skip test if not set."""
25+
def get_env_or_fail(var_name: str) -> str:
26+
"""Get environment variable or fail test if not set."""
2727
value = os.environ.get(var_name)
2828
if not value:
29-
pytest.skip(f"Environment variable {var_name} is not set")
29+
pytest.fail(f"Required environment variable {var_name} is not set. Configure GitHub secret.")
3030
return value
3131

3232

@@ -96,9 +96,9 @@ class TestLogzioLogs:
9696
@pytest.fixture(autouse=True)
9797
def setup(self):
9898
"""Set up test fixtures."""
99-
self.token = get_env_or_skip("LOGZIO_TOKEN")
100-
self.api_key = get_env_or_skip("LOGZIO_API_KEY")
101-
self.env_id = get_env_or_skip("ENV_ID")
99+
self.token = get_env_or_fail("LOGZIO_TOKEN")
100+
self.api_key = get_env_or_fail("LOGZIO_API_KEY")
101+
self.env_id = get_env_or_fail("ENV_ID")
102102

103103
def test_logs_received(self):
104104
"""Test that logs are received and have required fields."""

0 commit comments

Comments
 (0)